2013-07-17 14 views
5

Tiêu đề: Tại sao chức năng tập hợp ý tưởng xấu cho RESTful? Mặc dù tôi biết CRUD rất tốt cho RESTful.Tại sao chức năng tập hợp ý tưởng xấu cho RESTful?

Ví dụ, tài nguyên là 'nhân viên', và khách hàng cần truy xuất tổng của tổng 'lương' của tất cả các nhân viên. Dịch vụ RESTful có nên cung cấp chức năng tổng hợp như vậy không?

Câu hỏi tiếp theo: nếu hàm tổng hợp không tốt cho RESTful, làm thế nào khách hàng có thể nhận tổng số tiền lương? Để truy xuất tất cả hồ sơ 'nhân viên' và tổng hợp chính nó?

+0

bạn có cần thêm hel không p về điều này? – benjiman

Trả lời

7

Tôi sẽ không nói rằng phơi bày kết quả hoạt động (tức là hàm tổng hợp) vì tài nguyên trong REST phải được coi là xấu.

Từ RESTful Webservices Cookbook (O'Reilly):

Một trong những nhận thức phổ biến nhất của những hạn chế kiến ​​trúc REST của của là họ chỉ áp dụng đối với nguồn lực mà là “những điều” hay “tổ chức” trong lĩnh vực ứng dụng . Mặc dù điều này có thể đúng trong một số trường hợp, các tình huống liên quan đến chức năng xử lý thách thức nhận thức đó.

Việc xử lý hàm xử lý dưới dạng tài nguyên là khá phổ biến và sử dụng HTTP GET để tìm nạp biểu diễn chứa đầu ra của hàm xử lý. Bạn cũng có thể sử dụng tham số truy vấn để cung cấp đầu vào cho hàm xử lý.

Vậy tại sao không cung cấp các kết quả của một tập hợp tiền lương của một số nhân viên như một nguồn lực, ví dụ như thế này:

GET /employees/aggregation?data=salary 

hoặc tổng quát hơn:

GET /aggregator?resource=employee&data=salary 

Bạn thậm chí có thể lọc nhóm nhân viên mà tiền lương nên được tổng hợp, tức là như thế này:

GET /employees/aggregation?data=salary&divison=sales 
Các vấn đề liên quan