En concevant une API, nous nous sommes heurtés à la question de savoir si une charge utile PUT doit contenir l'ID de la ressource mise à jour.
Voici ce que nous avons actuellement:
PUT /users/123 Payload: {name: "Adrian"}
Notre code d'itinéraire extrait l'ID de l'URI et continue la mise à jour.
Les premiers utilisateurs de notre API se demandent pourquoi nous n'autorisons pas l'ID dans la charge utile:
PUT /users/123 Payload: {id: 123, name: "Adrian"}
La raison pour laquelle nous ne l'avons pas autorisé est que l'ID est dupliqué, dans la charge utile et l'URI.
En y réfléchissant un peu plus, nous couplons la ressource à l'URI.
Si l'URI n'a pas l'ID, la charge utile devra être modifiée:
PUT /no/id/here Payload: {name: "Adrian"} < What user???
Y a-t-il des raisons de ne pas le faire?
/users
(pas besoin d'ajouter «nouveau»).