Tôi đã tự hỏi nếu, thay vì một bố cục truyền thống như thế này:
api/Products
GET // gets product(s) by id
PUT // updates product(s) by id
DELETE // deletes (product(s) by id
POST // creates product(s)
Nó sẽ hữu ích hơn khi có một số ít và số nhiều, ví dụ:
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
Vì vậy, để tạo ra một bộ sưu tập các sản phẩm bạn có thể làm:
POST api/Products {data: filters} // returns api/Products/<id>
Và sau đó, để tham khảo nó, bạn có thể làm:
GET api/Products/<id> // returns array of products
Theo tôi, ưu điểm chính của việc thực hiện theo cách này là cho phép dễ dàng lưu trữ bộ sưu tập các sản phẩm. Chẳng hạn, người ta có thể đặt thời gian một giờ cho các bộ sưu tập sản phẩm, do đó giảm đáng kể các cuộc gọi trên máy chủ. Tất nhiên, hiện tại tôi chỉ thấy mặt tốt của việc làm theo cách này, nhược điểm là gì?