2

クライアントが公開会社を検索できる/companiesリソースがあり、クライアントがティッカー、場所、場所、および業界別に会社を検索できるようにしたいとします。

次の形式で同じURLを保持しますか?

  • GET / Companies / msft
  • GET / companys / usa
  • GET / Companies / usa&software

これは正しくないようです。何か案は?

4

3 に答える 3

9

どうですか?

GET /Companies?ticker=MSFT

GET /Companies?country=USA

GET /Companies?country=USA&industry=software

重要なことは、リソースを識別することです。リソースは「会社のリスト」です。そのメディア タイプは、Atom リスト、または UL LI タグを使用した単なる HTML ドキュメントです。クエリ パラメータはリストの内容に影響を与えますが、概念的には「企業のリスト」のままです。

次のような個別のリソースを作成できます

GET /Companies/USA

しかし、本当に必要ですか。/Companies/USA に POST しますか? /Companies/USA を削除しますか? アプリケーションがこれらの特定の一連の企業に対して追加の操作を実行する機能を必要としない場合、それらを個別のリソースとしてモデル化する必要はありません。

この議論の補足として、単一のエンティティとリストであるリソースにアクセスしているときをより明確に区別したいと思います。すなわち

GET /Companies/USA

GET /Company/MSFT

これは、一部の一般的な Web フレームワークの動作方法とは異なることを認識していますが、便利な区別であることがわかりました。

于 2009-10-25T21:40:01.243 に答える
0

これらのいずれかを受け入れることができますが、正規のアドレス(おそらく、GET / Companies / msft)を指すLocation:ヘッダーを返します。

于 2009-10-25T21:16:43.050 に答える
0

会社は1つだけですが、それに到達する方法は複数あるので、おそらく/ Companies / [unique-name]を定義してから、/ Companies / byticker/msftや/companies/ bylocation/usaなどのさまざまなものを定義します。

于 2009-10-25T21:18:01.997 に答える