加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 04:58:20 所属栏目:百科 来源:网络整理
导读:标题:为什么聚合功能对RESTful不好?虽然我知道CRUD对RESTful有好处. 例如,资源是“员工”,客户需要检索所有员工的总“工资”总和. RESTful服务不应该提供这样的求和功能吗? 进一步的问题:如果聚合功能对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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读