我正在开发一个小型客户端服务器程序来收集订单。我想以“REST(ful)方式”来做到这一点。
我想做的是:
收集所有订单行(产品和数量)并将完整订单发送到服务器
目前我看到有两种选择可以做到这一点:
- 将每个订单行发送到服务器:POST qty 和 Product_id
我实际上不想这样做,因为我想限制对服务器的请求数量,所以选项 2:
- 收集所有订单行并将其立即发送到服务器。
我应该如何实施选项2?我的几个想法是:
将所有订单行包装在 JSON 对象中并将其发送到服务器或使用数组来发布订单行。
实施选项 2 是一个好主意还是好做法,如果是,我应该怎么做。
什么是好的做法?
我相信解决此问题的另一种正确方法是创建另一个代表您的资源集合的资源。
例如,假设我们有一个像这样的端点/api/sheep/{id}
我们可以发布到/api/sheep
创建羊资源。
现在,如果我们想支持批量创建,我们应该考虑一个新的集群资源/api/flock
(or /api/<your-resource>-collection
如果你缺乏一个更好有意义的名字)。请记住资源不需要映射到您的数据库或应用程序模型。这是一个普遍的误解。
资源是更高级别的表示,与您的数据无关。对资源进行操作可能会产生显着的副作用,例如向用户发出警报、更新其他相关数据、启动长期存在的进程等。例如,我们可以映射文件系统甚至 unixps
命令作为 REST API。
我认为可以安全地假设操作资源也可能意味着创建几个其他实体作为副作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)