Progettando un'API, ci siamo confrontati con la questione se un carico utile PUT debba contenere l'ID della risorsa da aggiornare.
Questo è ciò che abbiamo attualmente:
PUT /users/123 Payload: {name: "Adrian"}
Il nostro codice di rotta estrae l'ID dall'URI e continua con l'aggiornamento.
I primi utenti della nostra API stanno mettendo in dubbio il motivo per cui non permettiamo l'ID nel payload:
PUT /users/123 Payload: {id: 123, name: "Adrian"}
Il motivo per cui non l'abbiamo consentito è perché l'ID è duplicato, nel payload e nell'URI.
Pensandoci sopra, stiamo accoppiando la risorsa all'URI.
Se l'URI non ha l'ID, il carico utile dovrà essere modificato:
PUT /no/id/here Payload: {name: "Adrian"} < What user???
Ci sono dei motivi per non farlo?