Je me demandais si, plutôt qu'une disposition plus traditionnelle comme celle-ci:
api/Products
GET // gets product(s) by id
PUT // updates product(s) by id
DELETE // deletes (product(s) by id
POST // creates product(s)
Serait-il plus utile d'avoir un singulier et un pluriel, par exemple:
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
Donc, pour créer une collection de produits, vous pouvez faire:
POST api/Products {data: filters} // returns api/Products/<id>
Et puis, pour le référencer, vous pourriez faire:
GET api/Products/<id> // returns array of products
À mon avis, le principal avantage de procéder de cette façon est qu'il permet une mise en cache facile des collections de produits. On pourrait, par exemple, mettre une durée de vie d'une heure sur des collections de produits, réduisant ainsi considérablement les appels sur un serveur. Bien sûr, je ne vois actuellement que le bon côté de faire les choses de cette façon, quel est l'inconvénient?