【发布时间】:2016-06-13 16:58:18
【问题描述】:
我最近一直在研究 ReST,但仍有一些问题困扰着我:
1) 由于只有资源,没有服务可以调用,我如何向客户端提供只做东西而不更改任何数据的操作? 例如,在我的应用程序中,可以触发连接到远程服务器并执行 shell 脚本的服务。我不知道这种情况如何应用于资源?
2) 我不确定的另一件事是副作用:假设我有一个可以处于某些状态的资源。当转换到另一种状态时,可能会发生很多事情(可能会发送电子邮件)。转换由客户端触发。我是否应该仅通过让资源通过 PUT 更新来处理此转换?这感觉有点奇怪。
- 对于客户端,这意味着更新此资源的属性可能只会更改属性,或者还可能做很多其他事情。所以 PUT =/= PUT,有点。
- 在实施方面,我必须检查 PUT 请求的确切更改,并据此触发副作用。所以会有很多检查,比如
if(old_attribute != new_attribute) {side_effects}
这是应该的吗?
BR, 菲利普
【问题讨论】:
标签: web-services rest