Nel progettare un'API, ci siamo posti la questione se un payload PUT dovesse contenere l'ID della risorsa da aggiornare.
Questo è ciò che attualmente abbiamo:
PUT /users/123 Payload: {name: "Adrian"}
Il nostro codice di percorso estrae l'ID dall'URI e continua con l'aggiornamento.
I primi utenti della nostra API si chiedono perché non consentiamo l'ID nel payload:
PUT /users/123 Payload: {id: 123, name: "Adrian"}
Il motivo per cui non l'abbiamo permesso è perché l'ID è duplicato, nel payload e nell'URI.
Pensando ancora a questo, stiamo associando la risorsa all'URI.
Se l'URI non ha l'ID, il payload dovrà essere modificato:
PUT /no/id/here Payload: {name: "Adrian"} < What user???
Ci sono dei motivi per non farlo?
/users
(non è necessario aggiungere "nuovo").