我正在做一个小项目。这是我第一次使用宁静的服务。我正在创建一个使用宁静服务的网上商店和应用程序。我在网上商店订购了DAP来订购衣服。
het DAP中的状态转换:
我想知道我是否制作了正确的DAP,如果URI隧道是否正确以及状态转换是否正确。
谢谢你的帮助!
编辑:第一个POST必须是/ order not order / 1
答案 0 :(得分:2)
大多数人在开始使用restful服务时遇到的问题是,在您的案例顺序中,一切都适用于一种资源。
事实上,您正在使用3种资源orders
,payments
和deliveries
- 当您意识到这一点时,您的选择会突然扩大。
现在你可以这样做:
POST /order (creates order, returns Order Id)
POST /order/{OrderId}/cancel (updates order to cancelled **)
POST /order/{OrderId}/payments (creates a payment for Order, returns Payment Id ***)
POST /payments/{PaymentId}/deliveries (creates a delivery for a Payment, returns Delivery Id ***)
**这是RESTful设计中值得商榷的一点,也可能是PUT,最终选择你的。 there is a ton of discussions on the topic
***这是有道理的,因为您只会创建与其他资源相关的付款或交付
然后您可以访问或修改其他资源:
GET /payments
GET /payments/{PaymentId}
DELETE /payments/{PaymentId}
PUT /payments/{PaymentId}
GET /deliveries
GET /deliveries/{DeliveryId}
DELETE /deliveries/{DeliveryId}
PUT /deliveries/{DeliveryId}
希望这会给你一些更多的想法。