RESTfulインターフェイスを作成したいとします。そのIDに基づいてfoo
を使用したいと考えています。新しいものはありません。コレクションでもあるリソースの表現を返すためのベストプラクティス
GET /api/foo1
foo1
の表現(JSONなど)を返します。DELETE /api/foo1
削除foo1
。
など
今私は「foo」がコレクション型のものであることを教えてくれてみましょう。だから私は、「foo」というに「バー」を追加できるようにしたい:
PUT /api/foo1/bar3
はfoo1
にbar3
を追加します。GET /api/foo1/bar3
は、foo1
という表現を返します。DELETE /api/foo1/bar3
は、foo1
からbar3
を削除します。DELETE /api/foo1
foo1
を完全に削除します。
ここで問題は残ります:GET /api/foo1
は何ですか?私はこの質問で最初に仮定したように、単にfoo1
の表現を返しますか?またはそれは棒のリストを返しますか?または、foo1
の表現は、foo1
との両方の説明であり、のすべての含まれているバーのリストを返しますか?
それともGET /api/foo1
単に私が最初に仮定としてfoo1
の表現を返し、foo1
内のバーをリストするPROPFIND
要求管理(WebDAVで撮影したアプローチ)が必要でしょうか?しかし、一貫性を保つために、他のすべてのリストタイプの機能性をに変更する必要はないでしょうか?GET /api/foo1
を使用して内容をリストするRESTfulチュートリアルを何千も矛盾させていますか?
私はあなたのアプローチが好きです。アイテム Listオブジェクトのプロパティ返します - 読み取り専用長さ、寸法、 アレイ方式のGetValueメソッド::、現在の ヘッド Arrayオブジェクトのプロパティ:実際には、それは本当に指向言語は、配列またはリストのオブジェクトに対して実装するオブジェクトと同じ動作です ListメソッドGetEnumerator - アイテムを返すオブジェクトを返します –