1

名前などのフィールドでリソース ID を取得する正しい残りの方法は何ですか。次の操作を見てください。

GET /users/mike-thomas
GET /users/rick-astley

API エンドでこれらの操作を使用したくありません。代わりに、フィールド (ユーザーの場合は名前) を送信するときに ID を取得する API 操作を記述したいと考えています。たとえば、次のようになります。

GET /users/id-by-field

提出されたデータ:

{
  "fullName": "Mike Thomas"
}

戻りデータ:

{
  "data": {
    "id": "123456789012345678901234"
  }
}
4

1 に答える 1

3

必要なものは、アルゴリズムのパラメーターが URL パラメーターとして渡されるアルゴリズム URL として知られています。

GET /users?name="Mike Thomas"

利点は、「ルート」リソース (ユーザー) を使用していることと、ルーティングで何も変更せずに検索パラメーターを簡単に拡張できることです。例えば:

GET /users?text="Mike"&year=1962&gender=M

テキストは名前だけで検索されるわけではありません。

結果として得られるデータはユーザーのリストであり、これらのユーザーの ID 以外のものを返す可能性があります。fullName がユーザーを一意に識別しない限り、とにかくそれを許可する必要があります。そしてもちろん、パラメーターがそのユーザーを一意に識別した場合、リストには単一のユーザーを含めることができます。

{
  users: [
    {
      id: "123456789012345678901234",
      fullName: "Mike Thomas",
      dateJoined: 19620228
    }
  , {
      id: "234567890123456789012345"
      fullName: "Rick Astley",
      dateJoined: 19620227
    }
  ]
}
于 2012-09-16T08:25:56.150 に答える