注文してはいけません。
実際には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な設計では議論の余地がポイントですが、同様に置くことができ、選択は最終的にあなた次第です。
GET /payments
GET /payments/{PaymentId}
DELETE /payments/{PaymentId}
PUT /payments/{PaymentId}
GET /deliveries
GET /deliveries/{DeliveryId}
DELETE /deliveries/{DeliveryId}
PUT /deliveries/{DeliveryId}
希望、これはあなたを与える:あなただけの別のリソース次に
との関係でのお支払いや配達を作成することになり、あなたがアクセスしたりなど、追加のリソースを変更する可能性があるためthere is a ton of discussions on the topic
は***これは理にかなっていますいくつかのアイデア。
新しい秩序を作る最初のポストですか? URI/order/1は、エンティティの作成以前に存在しますか? – Kalamarico
ああ、私のせいです。それは/注文する必要があります – mrobertini1239