Quelle est la différence entre les méthodes PUT, POST et PATCH dans le protocole HTTP?
Quelle est la différence entre les méthodes PUT, POST et PATCH dans le protocole HTTP?
Réponses:
Différence entre les verbes PUT, POST, GET, DELETE et PATCH IN HTTP:
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) dans la base de données. Nous spécifions ces verbes HTTP dans la casse majuscule . Donc, ci-dessous est la comparaison entre eux.
PATCH: soumet une modification partielle à une ressource. Si vous avez seulement besoin de mettre à jour un champ pour la ressource, vous souhaiterez peut-être utiliser la méthode PATCH.
Remarque:
Puisque POST, PUT, DELETE modifie le contenu, les tests avec Fiddler pour l'url ci-dessous imitent simplement les mises à jour. Il ne supprime ni ne modifie réellement. Nous pouvons simplement voir les codes d'état pour vérifier si des insertions, des mises à jour, des suppressions se produisent.
URL: http://jsonplaceholder.typicode.com/posts/
1) OBTENEZ:
GET est le type le plus simple de méthode de requête HTTP; celle que les navigateurs utilisent chaque fois que vous cliquez sur un lien ou saisissez une URL dans la barre d'adresse. Il demande 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 Fiddler pour vérifier la réponse. Ouvrez Fiddler et sélectionnez l'onglet Composer. 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:
"userId": 1, "id": 1, "title": "sunt aut ...", "body": "quia et suscipit ..."
Dans le chemin «heureux» (ou sans erreur), GET renvoie une représentation en XML ou JSON et un code de réponse HTTP de 200 (OK). Dans un cas d'erreur, il renvoie le plus souvent un 404 (NON TROUVE) ou 400 (MAUVAISE DEMANDE).
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. Autrement dit, subordonné à une autre ressource (par exemple, parent).
En cas de création réussie, retournez le statut HTTP 201, en renvoyant un en-tête Location avec un lien vers la ressource nouvellement créée avec le statut HTTP 201.
Vérification avec Fiddler ou PostMan: nous pouvons utiliser Fiddler pour vérifier la réponse. Ouvrez Fiddler et sélectionnez l'onglet Composer. 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/
Organe de demande:
data: {title: 'foo', body: 'bar', userId: 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 Get et utilisez la même URL et cliquez sur Execute.
Comme dit précédemment, l'url ci-dessus n'autorise que les lectures (GET), nous ne pouvons pas lire les données mises à jour en temps réel.
3) METTRE:
PUT est le plus souvent utilisé pour les capacités de mise à jour , PUT vers un URI de ressource connue avec le corps de la demande contenant la représentation nouvellement mise à jour de la ressource d'origine.
Vérification avec Fiddler ou PostMan: nous pouvons utiliser Fiddler pour vérifier la réponse. Ouvrez Fiddler et sélectionnez l'onglet Composer. 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
Organe de demande:
data: {title: 'foo', body: 'bar', userId: 1, Id: 1}
Réponse: En cas de mise à jour réussie, il renvoie 200 (ou 204 si aucun contenu dans le corps n'est renvoyé) à partir d'un PUT.
4) SUPPRIMER:
SUPPRIMER est assez facile à comprendre. Il est utilisé pour supprimer une ressource identifiée par un URI.
En cas de suppression réussie, renvoyez l'état 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). Soit cela, soit renvoyez l'état HTTP 204 (AUCUN CONTENU) sans corps de réponse. En d'autres termes, un état 204 sans corps, ou la réponse de style JSEND et l'état HTTP 200 sont les réponses recommandées.
Vérification avec Fiddler ou PostMan: nous pouvons utiliser Fiddler pour vérifier la réponse. Ouvrez Fiddler et sélectionnez l'onglet Composer. Spécifiez le verbe et l'URL comme indiqué ci-dessous et cliquez sur Exécuter pour vérifier la réponse.
Verbe: DELETE
url: http://jsonplaceholder.typicode.com/posts/1
Réponse: En cas de suppression réussie, il renvoie l'état HTTP 200 (OK) avec un corps de réponse.
Exemple entre PUT et PATCH
METTRE
Si je devais changer mon prénom, puis envoyer une demande de mise à jour PUT:
{"first": "Nazmul", "last": "hasan"} Donc, ici pour mettre à jour le prénom, nous devons envoyer à nouveau tous les paramètres des données.
PIÈCE:
La demande de correctif indique que nous n'enverrons que les données que nous devons modifier sans modifier ou 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 consulter les 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 PATCH et PUT request?
PUT = remplacer la RESSOURCE ENTIÈRE par la nouvelle représentation fournie
PATCH = remplacer des parties de la ressource source par les valeurs fournies ET | OU d'autres parties de la ressource sont mises à jour que vous n'avez pas fournies (horodatages) ET | OU la mise à jour de la ressource affecte d'autres ressources (relations)
La définition ci-dessous est tirée de l'exemple du monde réel.
Présentation de l'exemple
Pour chaque donnée client, nous stockons un identifiant pour trouver ces données client et nous renverrons cet identifiant à ce client pour référence.
PUBLIER
METTRE
PIÈCE
Remarque: Sur la méthode Put , nous ne lançons pas d'exception si aucun identifiant n'est trouvé. Mais dans la méthode Patch , 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.
GET / PUT est idempotent PATCH peut être parfois idempotent
Qu'est-ce qui est idempotent - Cela signifie que si nous lançons la requête plusieurs fois, cela ne devrait pas affecter le résultat de celle-ci.
get
: -get simple. Obtenez les données du serveur et montrez-les à l'utilisateur
{
id:1
name:parth
email:x@x.com
}
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éer une nouvelle ressource sinon ajouter à l'existant. Idempotent car il mettra à jour la même ressource à chaque fois et la sortie sera la même. ex. - donnée initiale
{
id:1
name:parth
email:x@x.com
}
{
id:1
email:ppp@ppp.com
}
patch
alors maintenant est venu la demande de patch PATCH peut être parfois idempotent
id:1
name:parth
email:x@x.com
}
nom du patch: w
{
id:1
name:w
email:x@x.com
}
Méthode HTTP OBTENEZ oui POST no METTEZ oui PATCH no * OPTIONS oui TÊTE oui SUPPRIMER oui
Ressources: Idempotent - Qu'est - ce que l'idempotence?
Différence principale entre les demandes PUT et PATCH :
Supposons que nous ayons une ressource qui contient le prénom et le nom d'une personne.
Si nous voulons changer le prénom, nous envoyons une demande de mise à jour
{ "first": "Michael", "last": "Angelo" }
Ici, bien que nous ne changions que le prénom, avec la demande PUT, nous devons envoyer les deux paramètres en premier et en dernier.
En d'autres termes, il est obligatoire d'envoyer à nouveau toutes les valeurs, la charge utile complète.
Cependant, lorsque nous envoyons une demande PATCH, nous n'envoyons que les données que nous voulons mettre à jour. En d'autres termes, nous envoyons uniquement le prénom à mettre à jour, pas besoin d'envoyer le nom de famille.
Assez logique la différence entre PUT & PATCH par rapport à l'envoi de données complètes et partielles pour le remplacement / la mise à jour respectivement. Cependant, juste quelques points comme ci-dessous
Pense-y de cette façon...
POST - créer
PUT - remplacer
PATCH - mise à jour
GET - lire
SUPPRIMER - supprimer
Explication la plus simple:
POST - Créer un nouvel enregistrement
PUT - Si l'enregistrement existe, mettez à jour sinon, créez un nouvel enregistrement
PATCH - mise à jour
GET - lire
SUPPRIMER - supprimer