5
作爲標題:爲什麼RESTful的聚合函數不好主意?雖然我知道CRUD對RESTful有好處。爲什麼RESTful的聚合函數不好主意?
舉例來說,資源是「員工」,並且客戶需要以檢索總量之和全體員工的「工資」。 RESTful服務不應該提供這樣的總和功能嗎?
進一步的問題:如果聚合函數對於RESTful不好,客戶如何獲得總工資的總和?檢索所有'員工'記錄並總結自己?
作爲標題:爲什麼RESTful的聚合函數不好主意?雖然我知道CRUD對RESTful有好處。爲什麼RESTful的聚合函數不好主意?
舉例來說,資源是「員工」,並且客戶需要以檢索總量之和全體員工的「工資」。 RESTful服務不應該提供這樣的總和功能嗎?
進一步的問題:如果聚合函數對於RESTful不好,客戶如何獲得總工資的總和?檢索所有'員工'記錄並總結自己?
我不會說將操作結果(即聚合函數)暴露爲REST中的資源必須被認爲是不好的。
從RESTful Webservices Cookbook(O'Reilly出版):
一個REST的架構約束中最常見的看法是,他們 只適用於那些「東西」或「實體」在應用領域資源。儘管在許多情況下這可能是真實的,但涉及處理功能 的情景挑戰該感知。
將處理函數視爲資源並使用HTTP GET來獲取包含處理函數輸出的表示是很常見的。您還可以使用查詢參數爲處理功能提供輸入。
那麼,爲什麼不提供員工人數的工資聚集的資源,也就是這樣的結果:
GET /employees/aggregation?data=salary
或更一般:
GET /aggregator?resource=employee&data=salary
你甚至可以過濾應該將這些工資彙總的員工組,例如:
GET /employees/aggregation?data=salary&divison=sales
您是否需要更多的hel對此? – benjiman