シナリオ:RESTfulな設計:子リソースを作成するためのベストプラクティス
私は0..N子リソース、Bar
を持っているいくつかのリソース、Foo
を、持っています。
endpoint- http://resource/fooあり - 親サーバー上ではFooの新しいインスタンスを作成するために、すべてのFoo
リソースとPOST
のリストを取得するためにGET
をサポートしています。
endpoint- http://resource/foo/:fooIdがあります: - Foo
リソースを削除するFoo
リソース、およびDELETE
を更新するFoo
リソース、PATCH
をフェッチするGET
をサポートしています。
- 指定Foo
上のすべてのBar
リソースのリストを取得するためにGET
をサポートし、POST
が与えられたのFooにBar
の新しいインスタンスを作成します。
は直接、いくつかのBar
子供とFoo
を作成POST
http://resource/fooへの支援は、万一、または子の作成はのみFoo
の初期作成後http://resource/foo/:fooId:/barに明確な追加POSTs
によってサポートされる必要がありますか?
多くの場合、最も論理的なアプローチは、 'POST/bars'のような終点を持つでしょう。リクエストボディは、関連するfooの識別子を含むバーを構築するために必要なプロパティの表現です。 '/ foos /:id/bars'のようなエンドポイントは、'/bars'コレクションのフィルタリングされたバージョンを提供するための "ショートカット"またはフィルタリングエンドポイントのほうが多く、通常はGET要求のみをサポートします。しかし、私が言ったことのどれも厳しいルールではありません。もっと良いガイドラインに似ています。 –