web-dev-qa-db-fra.com

Quelle est la difference entre PUT, POST et PATCH?

Quelle est la différence entre les méthodes PUT, POST et PATCH dans le protocole HTTP?

155
selva kumar

POST

HTTP.POST peut être utilisé lorsque le client envoie des données au serveur et que ce dernier décide de l'URI de la ressource nouvellement créée. La méthode POST est utilisée pour demander au serveur d'origine d'accepter l'entité incluse dans la demande en tant que nouveau subordonné de la ressource identifiée par l'URI de demande dans la ligne de demande.

METTRE

HTTP.PUT peut être utilisé lorsque le client envoie des données au serveur et que le client détermine l'URI de la ressource nouvellement créée. La méthode PUT demande à ce que l'entité incluse soit stockée sous l'URI de demande fourni. Si l'URI de demande fait référence à une ressource déjà existante, l'entité incluse DEVRAIT être considérée comme une version modifiée de celle résidant sur le serveur d'origine. Si Request-URI ne pointe pas vers une ressource existante et que cet URI peut être défini en tant que nouvelle ressource par l'agent utilisateur demandeur, le serveur d'origine peut créer la ressource avec cet URI.

PATCH

HTTP.PATCH peut être utilisé lorsque le client envoie une ou plusieurs modifications à appliquer par le serveur. La méthode PATCH demande qu'un ensemble de modifications décrites dans l'entité de demande soit appliqué à la ressource identifiée par l'URI de demande. L'ensemble des modifications est représenté dans un format appelé document de correctif.

Pour plus d'informations, voir l'URL mentionnée ci-dessous.

PUT vs. POST dans REST

157
Litisqe Kumar

Différence entre PUT, POST, GET, DELETE et PATCH IN HTTP Verbs:

Les verbes HTTP les plus couramment utilisés, POST, GET, PUT, DELETE, sont similaires aux opérations CRUD (Créer, Lire, Mettre à jour et Supprimer) de la base de données. Nous spécifions ces verbes HTTP dans le cas capital. Donc, ci-dessous est la comparaison entre eux.

  1. créer - POST 
  2. lire - GET
  3. mise à jour - PUT
  4. supprimer - SUPPRIMER

PATCH: Soumet une modification partielle à une ressource. Si vous n'avez besoin que de mettre à jour un champ pour la ressource, vous pouvez utiliser la méthode PATCH.

Remarque:
Puisque POST, PUT, DELETE modifie le contenu, les tests avec le violoneur pour l’url ci-dessous ne font que simuler les mises à jour. Il ne supprime ou ne modifie pas réellement. Nous pouvons simplement voir les codes de statut pour vérifier si des insertions, des mises à jour, des suppressions ont lieu.

URL: _ ​​ http://jsonplaceholder.typicode.com/posts/

1) GET:

GET est le type le plus simple de méthode de requête HTTP; celui que les navigateurs utilisent chaque fois que vous cliquez sur un lien ou tapez une URL dans la barre d'adresse. Il indique au serveur de transmettre les données identifiées par l'URL au client. Les données ne doivent jamais être modifiées côté serveur à la suite d'une demande GET. En ce sens, une requête GET est en lecture seule.

Vérification avec Fiddler ou PostMan: Nous pouvons utiliser le fiddler pour vérifier la réponse. Ouvrez le fiddler et sélectionnez l'onglet Compose . Spécifiez le verbe et l'URL comme indiqué ci-dessous et cliquez sur Exécuter pour vérifier la réponse.

Verbe: GET

url: _ ​​ http://jsonplaceholder.typicode.com/posts/

Réponse: Vous obtiendrez la réponse sous la forme suivante:

"userId": 1, "id": 1, "titre": "sunt aut ...", "body": "quia et suscipit ..."

Dans le chemin «heureux» (ou sans erreur), GET renvoie une représentation au format XML ou JSON et un code de réponse HTTP de 200 (OK). En cas d'erreur, il retourne le plus souvent un 404 (NOT FOUND) ou un 400 (BAD REQUEST).

2) POST:

Le verbe POST est principalement utilisé pour créer de nouvelles ressources. En particulier, il est utilisé pour créer des ressources subordonnées. C’est-à-dire subordonné à une autre ressource (p. Ex. Mère) 

En cas de création réussie, renvoyer l'état HTTP 201 en renvoyant un en-tête Location avec un lien vers la ressource nouvellement créée avec l'état 201 HTTP.

Vérification avec Fiddler ou PostMan: Nous pouvons utiliser le fiddler pour vérifier la réponse. Ouvrez le fiddler et sélectionnez l'onglet Compose . Spécifiez le verbe et l'URL comme indiqué ci-dessous et cliquez sur Exécuter pour vérifier la réponse.

Verbe: POST

url: _ ​​ http://jsonplaceholder.typicode.com/posts/

Corps de la demande: 

les données: { titre: 'foo', corps: 'bar', ID utilisateur: 1000, Id: 1000 }

Réponse: Vous recevrez le code de réponse 201.

Si nous voulons vérifier l'enregistrement inséré avec Id = 1000, changez le verbe en Obtenir et utilisez la même URL, puis cliquez sur Exécuter.

Comme indiqué précédemment, l'URL ci-dessus autorise uniquement les lectures (GET), nous ne pouvons pas lire les données mises à jour en temps réel.

3) PUT:

PUT est le plus souvent utilisé pour les fonctionnalités update, PUT-ing vers une adresse URI de ressource connue avec le corps de la requête contenant la représentation récemment mise à jour de la ressource d'origine.

Vérification avec Fiddler ou PostMan: Nous pouvons utiliser le fiddler pour vérifier la réponse. Ouvrez le fiddler et sélectionnez l'onglet Compose . Spécifiez le verbe et l'URL comme indiqué ci-dessous et cliquez sur Exécuter pour vérifier la réponse.

Verbe: PUT

url: _ ​​ http://jsonplaceholder.typicode.com/posts/1

Corps de la demande: 

les données: { titre: 'foo', corps: 'bar', userId: 1, Id: 1 }

Réponse: En cas de réussite de la mise à jour, il renvoie 200 (ou 204 si aucun contenu ne figure dans le corps) à partir d'un PUT.

4) SUPPRIMER:

DELETE est assez facile à comprendre. Il est utilisé pour supprimer une ressource identifiée par un URI. 

En cas de suppression réussie, renvoyez le statut HTTP 200 (OK) avec un corps de réponse, peut-être la représentation de l'élément supprimé (demande souvent trop de bande passante), ou une réponse encapsulée (voir Valeurs de retour ci-dessous). Cela ou retourne le statut HTTP 204 (NO CONTENT) sans corps de réponse. En d'autres termes, un statut 204 sans corps, ou la réponse de type JSEND et le statut HTTP 200 sont les réponses recommandées.

Vérification avec Fiddler ou PostMan: Nous pouvons utiliser le fiddler pour vérifier la réponse. Ouvrez le fiddler et sélectionnez l'onglet Compose . Spécifiez le verbe et l'URL comme indiqué ci-dessous et cliquez sur Exécuter pour vérifier la réponse.

Verbe: SUPPRIMER

url: _ ​​ http://jsonplaceholder.typicode.com/posts/1

Réponse: En cas de suppression réussie, il renvoie le statut HTTP 200 (OK) avec un corps de réponse.

Exemple entre PUT et PATCH

MIS 

Si je devais changer mon prénom, alors envoyez la demande PUT pour la mise à jour:

{"first": "Nazmul", "last": "hasan"} Donc, pour mettre à jour le prénom, nous devons renvoyer tous les paramètres des données.PATCH:.

Une demande de correctif indique que nous n'enverrons que les données que nous devons modifier sans modifier ni affecter d'autres parties des données . Ex: si nous devons mettre à jour uniquement le prénom, nous ne transmettons que le prénom.

Veuillez vous référer aux liens ci-dessous pour plus d'informations:.

https://jsonplaceholder.typicode.com/

_ { https://github.com/typicode/jsonplaceholder#how-to } _

_ {{Quelle est la principale différence entre les requêtes PATCH et PUT?)} _

_ { http://www.restapitutorial.com/lessons/httpmethods.html } _

http://www.restapitutorial.com/lessons/httpmethods.html

122
Krishna

PUT = remplacer l'intégralité de la ressource par la nouvelle représentation fournie

PATCH = remplace les parties de la ressource source par les valeurs fournies ET | OU d'autres parties de la ressource que vous n'avez pas fournies sont mises à jour (horodatage) ET | OR la ​​mise à jour de la ressource affecte d'autres ressources (relations)

https://laracasts.com/discuss/channels/general-discussion/whats-the-differences-between-put-put-and-patch?page=1

25
Ankit Rai

La définition ci-dessous est tirée de l'exemple du monde réel.

Exemple de vue d'ensemble
Pour chaque donnée client, nous stockons un identifiant pour retrouver ces données client et nous le renverrons à ce client pour référence.

  1. POST

    • Si le client envoie des données sans identifiant à l'aide de la méthode POST, nous les stockons et nous en affectons un nouvel.
    • Si le client envoie à nouveau les mêmes données sans identifiant à l'aide de la méthode POST, nous les stockons et nous en affectons un nouvel.
    • Note : La duplication est autorisée ici
  2. PUT

    • Si le client envoie des données avec un identifiant, nous vérifierons si cet identifiant existe. Si l'identifiant existe, nous mettrons à jour les données, sinon nous les créerons et attribuerons un nouvel identifiant.
  3. PATCH

    • Si le client envoie des données avec un identifiant, nous vérifierons si cet identifiant existe. Si l'identifiant existe, nous mettrons à jour les données. Sinon, nous lancerons une exception.

Remarque: On Put Method, nous ne lançons pas d'exception si aucun identifiant n'est trouvé. Mais dans Patch method, nous lançons une exception si l'identifiant n'est pas trouvé.

Faites-moi savoir si vous avez des questions sur ce qui précède.

4
Yokesh Waran

Différence principale entre PUT et PATCH Requêtes:

Supposons que nous ayons une ressource contenant le prénom et le nom d'une personne.

Si nous voulons changer le prénom, nous envoyons une demande de vente pour la mise à jour.

{ "first": "Michael", "last": "Angelo" }

Ici, bien que nous ne changions que le prénom, avec la requête PUT, nous devons envoyer les deux paramètres en premier et en dernier.
En d’autres termes, il est obligatoire de renvoyer toutes les valeurs, la charge utile complète.

Cependant, lorsque nous envoyons une requête PATCH, nous n’envoyons que les données que nous souhaitons mettre à jour. En d’autres termes, nous n’envoyons que le prénom à mettre à jour, pas besoin d’envoyer le nom de famille.

1
beginners

Types de demande

  • créer - POST
  • lire - GET
  • créer ou mettre à jour - PUT
  • supprimer - SUPPRIMER
  • mise à jour - PATCH

GET/PUT est idempotent PATCH peut être parfois idempotent

Ce qui est idempotent -Cela signifie que si nous lançons la requête plusieurs fois, elle ne devrait pas en affecter le résultat. (Même résultat. Supposons qu'une vache soit enceinte et si nous la reproduisons à nouveau, elle ne pourra pas être enceinte plusieurs fois)

get: -

simple get. Obtenir les données du serveur et les montrer à l'utilisateur

{
id:1
name:parth
email:[email protected]
}

post: -

créer une nouvelle ressource dans la base de données. Cela signifie qu'il ajoute de nouvelles données. Ce n'est pas idempotent.

put: -

Créez une nouvelle ressource, sinon ajoutez-la à la propriété . Idempotent existante, car elle mettra à jour la même ressource à chaque fois et le résultat sera le même .ex.- donnée initiale

{
id:1
name:parth
email:[email protected]
}
{
id:1
email:[email protected]
}

patch

alors maintenant est venu la demande de patch PATCH peut être parfois idempotent

id:1
name:parth
email:[email protected]
}

nom du patch: w

{
id:1
name:w
email:[email protected]
}
 Méthode HTTP 
 OBTENIR yes
POST non 
 PUT yes 
 PATCH non * 
 OPTIONS yes 
 HEAD oui 
 DELETE yes 

Ressources: Idempotent - Qu'est-ce que l'Idempotency?

1
Parth Patel