Au REPOS du ressort et de la méthode de PATCH
Je suis en utilisant SpringBoot et de REPOS du Ressort.
J'aimerais comprendre le HTTP PATCH méthode pour mettre à jour les propriétés de mon Modèle
Est-il un bon tutoriel expliquant comment faire cela fonctionne ?
- HTTP PATCH méthode et le corps à Envoyer
- Contrôleur de la méthode et la façon de gérer l'opération de mise à jour
Vous devez vous connecter pour publier un commentaire.
J'ai remarqué que beaucoup de réponses sont toutes JSON de correction ou incomplète des réponses. Ci-dessous une explication complète et exemple de ce que vous avez besoin avec le fonctionnement du monde réel code
Tout d'abord, le PATCH est sélectif MIS. Vous pouvez l'utiliser pour mettre à jour un certain nombre de domaines pour un objet ou une liste d'objets. Dans un METTRE vous envoient généralement l'ensemble de l'objet avec toutes les mises à jour.
PATCH /objet/7
METTRE /objet/7
Cela vous permet de mettre à jour des enregistrements, sans d'énormes quantités de points de terminaison. Par exemple, ci-dessus, pour la mise à jour de notation vous avez besoin de l'objet/{id}/notation, puis de mettre à jour nom de l'objet/{id}/nom. Littéralement, d'un point de terminaison pour chaque article, ou vous avez besoin de l'extrémité avant de publier la totalité de l'objet à chaque mise à jour. Si vous avez un énorme objet, ce qui peut prendre beaucoup de temps réseau ou de données mobiles qui est inutile. Le patch vous permet d'avoir 1 point de terminaison avec le minimum de propriété de l'objet qui envoie une plate-forme mobile à utiliser.
voici un exemple d'une utilisation dans le monde réel pour le patch:
Ci-dessus peut être source de confusion pour certaines personnes que de nouveaux devs n'ont pas l'habitude de traiter avec une réflexion comme ça. Fondamentalement, tout ce que vous passer de cette fonction dans le corps, il va trouver de l'allégation connexe à l'aide de l'ID donné, puis mettre à jour UNIQUEMENT les champs que vous passer en tant que valeur de la clé de la paire.
Exemple corps:
PATCH /sinistres/7
La ci-dessus sera mise à jour claimTypeId et claimStatus pour les valeurs données pour la revendication 7, laissant toutes les autres valeurs intactes.
De sorte que le retour serait quelque chose comme:
Comme vous pouvez le voir, l'intégralité de l'objet serait de revenir sans modification de toutes les données autres que ce que vous voulez changer. Je sais qu'il y est un peu de la répétition dans l'explication ici, je voulais juste décrire clairement.
Il n'y a rien de fondamentalement différent dans
PATCH
méthode autant que le Printemps est préoccupé d'PUT
etPOST
. Le défi est ce que vous passez dans votre PATCH demande et comment vous carte les données dans le Contrôleur. Si vous associez à votre valeur de haricots à l'aide de@RequestBody
, vous aurez à comprendre ce qui est réellement en jeu et que les valeurs null signifie. D'autres options serait de limiterPATCH
demande d'un bien et de le spécifier dans l'url ou la carte les valeurs à unMap
.Voir aussi Spring MVC PATCH méthode: des mises à jour partielles
Créer un reste modèle à l'aide de -