我试图了解 RESTful API 的范围和限制。我的具体问题是:如何使用 REST 处理公开操作而不是资源的 API?我是否应该放弃公开操作的诱惑并重新考虑 API 来公开数据(资源)。来自 OOP,感觉像是对对象封装的公然违反。
想象一下,您需要公开一个执行汇款的 REST API:将一笔金额从一个账户转入另一个账户。如果我了解 REST,这两个帐户应该作为资源公开,并且必须在这两个资源上调用两个不同的 UPDATE 操作。对我来说,这感觉像是明显违反了数据封装。我的倾向是创建一个 API 来模拟操作“转账”而不是资源“账户”。我可以创建一个执行“数据传输”的 REST API 吗?那不再是 REST(因为它似乎不是以资源为中心)。
对这种 RPC 调用看起来比 REST 更合适的场景有什么评论吗?
谢谢
我认为 Transfer 本身就是一种资源,具有自己的生命周期。我们可以 PUT 一个传输资源来(在商业术语中)启动一个传输。转账资源是指账户资源;引用其他资源的资源是 RESTful。
我们可以 GET 传输资源以确定其状态。
例如,如果某些信息不完整,我们甚至可以对资源进行 POST 更新。
| 归档时间: |
|
| 查看次数: |
767 次 |
| 最近记录: |