Maybaygiare.org

Blog Network

restcookbook.com

Quand devrions-nous utiliser PUT et quand devrions-nous utiliser POST?

Les méthodes HTTP POST et PUT ne sont pas l’équivalent HTTP de create et update du CRUD. Ils ont tous deux un but différent. Il est tout à fait possible, valide et même préféré dans certaines occasions, d’utiliser PUT pour créer des ressources, ou d’utiliser POST pour mettre à jour des ressources.

Utilisez PUT lorsque vous pouvez mettre à jour complètement une ressource via une ressource spécifique. Par exemple, si vous savez qu’un article réside à http://example.org/article/1234, vous pouvez PLACER une nouvelle représentation de ressource de cet article directement via un PUT sur cette URL.

Si vous ne connaissez pas l’emplacement réel de la ressource, par exemple, lorsque vous ajoutez un nouvel article, mais que vous n’avez aucune idée de l’endroit où le stocker, vous pouvez le POSTER sur une URL et laisser le serveur décider de l’URL réelle.

PUT /article/1234 HTTP/1.1<article> <title>red stapler</title> <price currency="eur">12.50</price></article>
POST /articles HTTP/1.1<article> <title>blue stapler</title> <price currency="eur">7.50</price></article>HTTP/1.1 201 CreatedLocation: /articles/63636

Dès que vous connaissez le nouvel emplacement de la ressource, vous pouvez utiliser PUT again pour faire des mises à jour de l’article agrafeuse bleue. Mais comme dit précédemment: vous POUVEZ également ajouter de nouvelles ressources via PUT. L’exemple suivant est parfaitement valide si votre API fournit cette fonctionnalité :

PUT /articles/green-stapler HTTP/1.1<article> <title>green stapler</title> <price currency="eur">9.95</price></article>HTTP/1.1 201 CreatedLocation: /articles/green-stapler

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.