微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么聚合功能对RESTful来说不好?

标题:为什么聚合功能对RESTful不好?虽然我知道CRUD对RESTful有好处.

例如,资源是“员工”,客户需要检索所有员工的总“工资”总和. RESTful服务不应该提供这样的求和功能吗?

进一步的问题:如果聚合功能对RESTful不利,客户如何获得总薪水总和?要检索所有“员工”记录并总结一下?

解决方法

我不会说暴露操作结果(即聚合函数)作为REST中的资源必须被认为是坏的.

RESTful Webservices Cookbook(O’Reilly):

One of the most common perceptions of REST’s architectural constraints is that they
only apply to resources that are “things” or “entities” in the application domain. Although
this may be true in a number of cases,scenarios that involve processing functions
challenge that perception.

将处理函数视为资源是很常见的,并使用HTTP GET来获取包含处理函数输出的表示.您还可以使用查询参数为处理函数提供输入.

那么为什么不提供一些员工的工资汇总结果作为资源,例如:

GET /employees/aggregation?data=salary

或更一般:

GET /aggregator?resource=employee&data=salary

您甚至可以过滤应该汇总工资的员工组,例如:

GET /employees/aggregation?data=salary&divison=sales

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐