我在寻找有关我的REST JSON服务的建议。我有一个简单的订单,基本上做简单的CRUD。所以基本上,除了获得订单的详细信息,创建订单和删除订单,我也想做一个量级以上的活动,如:简单订购服务的REST设计建议
- 批准订单
- 路线以特定用户
- 取消订单
- 暂停顺序
- 拒绝命令
- 像顺序
任何人都可以分享如何扩展服务的想法。目前,我有以下类似
非常感谢您
我在寻找有关我的REST JSON服务的建议。我有一个简单的订单,基本上做简单的CRUD。所以基本上,除了获得订单的详细信息,创建订单和删除订单,我也想做一个量级以上的活动,如:简单订购服务的REST设计建议
任何人都可以分享如何扩展服务的想法。目前,我有以下类似
非常感谢您
so http://myapi.com/orders/ {id}将会是单个订单的获得,我所见过的大多数设计师都使用复数,fyi。
我会提供在这种情况下两个选项(最不喜欢的例子是第一个)
A.列举了可能出现为响应与POST方法例如 http://myapi.com/orders/123?action=APPROVE动作做查询参数的任何行动你需要提供的数据。
**注意我不喜欢上述内容,因为它比REST更像RPC,但它绝对可以满足您的需求。
B.提供您的CRUD以外的行为模式。因此您可以通过@POST,@GET等方式进行crud表单/订单,然后为批准操作提供/ orderActions/approve/{id}或类似于POST的内容。
所以基本上你的建议是解析与queryString相关的任何动词。 – pakcikkantin 2013-04-26 02:53:28
是的,使用行为模式 – fpmoles 2013-04-26 13:14:22
你没有提到的URI你所使用的语言为这个项目。我会推荐Ruby on Rails与state_machine宝石,这将允许您执行您的CRUD以及您希望移动订单的额外'状态'。
我说RoR主要是因为它会为您开箱,并且state_machine
宝石会完成剩下的工作。
嗨richard,感谢您的回复,即时通讯使用服务总线来包装我的服务。我对Ruby的了解不多,我也会研究一下。谢谢你的建议 – pakcikkantin 2013-04-26 02:55:38
你的模式是什么样的? – Marvo 2013-04-25 17:39:22