Questa sembra essere una domanda piuttosto semplice, ma non riesco a trovare linee guida approprafili per questo. Qual è il modo "riposante" di POST
di una relazione tra due entità che non sono necessariamente genitore / figlio. Ad esempio, considera clienti e ordini.
Si potrebbe creare un cliente con un POST
in /customer
. Tuttavia, qual è il modo migliore per creare l'ordine? Un esempio potrebbe essere un POST
a /customer/123/order
, ma cosa succede se l'ordine non è assegnato direttamente a un cliente e potrebbe esistere da solo (nel caso di un carrello Web che consente il checkout "anonimo") ? È il modo giusto, quindi, per fare POST /order?customerId=123
Inoltre, considera il caso in cui un ordine può essere inviato separatamente dai pagamenti (diciamo che fatturiamo un cliente). È possibile creare l'ordine (per uno dei due metodi precedenti), ma come faremo il pagamento? POST /order/123/payment
o POST /payment?orderId=123
(se supponiamo che un pagamento possa essere effettuato per qualcosa di diverso da un ordine, e si potrebbe desiderare di ottenere informazioni su un ordine / pagamento senza conoscere il cliente specifico).