特定のユーザーのためのリストのユーザーとORDERSRESTどこを終点にするか?
がありますと仮定あなたは好ま、なぜされる1
/user/3/order_list
/order/?user=3
ができますか?
特定のユーザーのためのリストのユーザーとORDERSRESTどこを終点にするか?
がありますと仮定あなたは好ま、なぜされる1
/user/3/order_list
/order/?user=3
ができますか?
オプションのパラメータは、クエリ文字列に入れるほうが簡単な傾向があります。
パラメータ値が既存のリソースに対応していないときに404エラーを返す場合は、パスセグメントパラメータに向かう傾向があります。例えば/ customer/232ここで、232は有効な顧客IDではありません。
ただし、空のリストを返す場合は、パラメータが見つからない場合はクエリ文字列パラメータを返します。例えば/ contacts?name = dave
パラメータがURI構造全体に影響する場合は、パスを使用します。 /en/document/foo.txt対/document/foo.txt?language=en
クエリパラメータではなくパスに一意の識別子が含まれている場合。
検索エンジン/ブラウザの履歴/ナビゲーションには、経路が適しています。
私がAPIを作成し始めたとき、私は同じ質問について考えていました。
Video from apigee。私を助けてください。
APIを構築するときは、どのエンティティが独立しているのか、誰が関連しているのかを判断する必要があります。
たとえば、作成/更新/削除操作のオーダに対して特定のエンドポイントがある場合は、2番目のアプローチ/order/?user=3
を使用しても問題ありません。
他の方法では、オーダーが1つの表現しか持たず、ユーザーに依存し、特別なやりとりがない場合、最初にアプローチすることができます。 RESTの
全体のポイントは、リソースです。あなたは実際の要求にできるだけ近づけて試してみるべきです。私は間違いなくそれをorder_list
と呼ぶのではありません。それは、あなたが何かを得ていると伝えるのに、GET
が十分である間に、複数のユーザー
/user
の/users
を持つべきです複数の項目を持つことができますyourdomain.com/my/users/3
yourdomain.com/my/users
だから、私のような何かのために行くだろう単一のユーザーが表示されますyourdomain.com/my/users/3/orders
yourdomain.com/my/users/3/orders/5