Nous avons un produit avec point final de repos POST, PUT, DELETE.REST: Comment gérer la requête POST qui a déjà l'ID dans le corps de la demande
Le corps de la requête POST ressemble:
{
"Id": Unique identifier of the product,
"Description": Product description,
"Price": Price of the product
}
Maintenant, puisque POST est considéré comme non idempotente, mais ici nous ne pouvons pas autoriser des entrées en double avec la même « Id ». Ce "Id" dans le corps de la demande est l'ID du système tiers qui demande POST à notre système.
Nous autorisons la mise à jour/suppression de la ressource avec cet "ID" uniquement et n'attendons pas POST/PUT avec nos identifiants internes générés. Bien que nous générions notre identifiant unique que nous renvoyons en réponse à cette requête POST, tout comme l'accusé de réception de cette demande.
Mais je me demandais, devrait-il être POST ou une demande PUT? Que devons-nous faire au cas où nous aurions une demande POST en double, nous devrions renvoyer une erreur de validation OU mettre à jour la précédente demande enregistrée?
Que dit REST OU quelle approche serait la meilleure pour la performance et la maintenance?