次のような従来のレイアウトではなく、私は疑問に思っています。
api/Products
GET // gets product(s) by id
PUT // updates product(s) by id
DELETE // deletes (product(s) by id
POST // creates product(s)
たとえば、単数形と複数形の方が便利でしょう。
api/Product
GET // gets a product by id
PUT // updates a product by id
DELETE // deletes a product by id
POST // creates a product
api/Products
GET // gets a collection of products by id
PUT // updates a collection of products by id
DELETE // deletes a collection of products (not the products themselves)
POST // creates a collection of products based on filter parameters passed
したがって、製品のコレクションを作成するには、次のようにします。
POST api/Products {data: filters} // returns api/Products/<id>
そして、それを参照するには、次のようにします。
GET api/Products/<id> // returns array of products
私の意見では、このように処理することの主な利点は、製品のコレクションを簡単にキャッシュできることです。たとえば、製品のコレクションに1時間のライフタイムを設定すると、サーバーへの呼び出しが大幅に削減されます。もちろん、私は現在、このように物事を行うことの良い面しか見ていません。欠点は何ですか?