订单的RESTful域应用程序协议
我在做一个小项目。这是我第一次使用restful服务。我正在创建一个使用restful服务的webshop和应用程序。我创建了一个DAP,用于在网上商店订购衣服 DAP: het DAP中的状态转换: 我想知道我的DAP是否正确,URI隧道是否正确,状态转换是否正确 谢谢你的帮助订单的RESTful域应用程序协议,rest,api-design,restful-url,Rest,Api Design,Restful Url,我在做一个小项目。这是我第一次使用restful服务。我正在创建一个使用restful服务的webshop和应用程序。我创建了一个DAP,用于在网上商店订购衣服 DAP: het DAP中的状态转换: 我想知道我的DAP是否正确,URI隧道是否正确,状态转换是否正确 谢谢你的帮助 编辑:第一篇文章必须是/order而不是order/1大多数人在开始使用restful服务时都会想到,在您的案例中,所有内容都适用于一种资源 事实上,您正在使用3种资源,订单、付款和交付——当您意识到这一点时,您的
编辑:第一篇文章必须是/order而不是order/1大多数人在开始使用restful服务时都会想到,在您的案例中,所有内容都适用于一种资源 事实上,您正在使用3种资源,
订单
、付款
和交付
——当您意识到这一点时,您的选择突然扩大
现在你可以这样做:
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,最终由您选择***这是有意义的,因为您只会创建与其他资源相关的付款或交付 然后您可以访问或修改其他资源,例如:
GET /payments
GET /payments/{PaymentId}
DELETE /payments/{PaymentId}
PUT /payments/{PaymentId}
GET /deliveries
GET /deliveries/{DeliveryId}
DELETE /deliveries/{DeliveryId}
PUT /deliveries/{DeliveryId}
希望这能给你提供更多的想法。第一篇文章是创建新订单吗?URI/order/1在实体创建之前就存在了?哦,我的错。这必须是我的订单