Articles

Spring Restful Web Services Example with JSON, Jackson and Client Program (Français)

Posted by admin

Spring est l’un des frameworks Java EE les plus utilisés. Nous avons déjà vu comment utiliser Spring MVC pour créer des applications Web basées sur Java. Aujourd’hui, nous allons apprendre à créer des Services web Spring Restful à l’aide de Spring MVC, puis à les tester avec le client Rest. En fin de compte, nous examinerons également comment invoquer le service Web Spring Restful à l’aide de L’API Spring RestTemplate.,

au REPOS du Ressort

Nous allons utiliser le Printemps la dernière version 4.0.0.Libérez et utilisez L’intégration Spring Jackson JSON pour envoyer une réponse JSON dans la réponse d’appel rest. Le tutoriel est développé dans Spring STS ID pour créer facilement du code squelette Spring MVC, puis étendu pour implémenter L’architecture Restful.

créez un nouveau projet Spring MVC dans le STS, notre projet final ressemblera à l’image ci-dessous. Nous examinerons chacun des composants un par un.,

Printemps RESTE de la Configuration des Fichiers XML

Notre pom.le fichier xml ressemble à ci-dessous.

STS outil génère le pom.fichier xml pour nous. Cependant, j’ai mis à jour la version Spring Framework, AspectJ, SLF4J et Jackson à la dernière version à partir d’aujourd’hui. La plupart de la partie est commune et générée automatiquement, le point important à noter est que j’ai ajouté des bibliothèques Jackson JSON dans la dépendance car nous l’utiliserons pour convertir des objets en JSON et vice versa.,

Ce fichier est généré automatiquement et je n’ai rien changé à cela. Cependant, si vous souhaitez modifier les fichiers de configuration de contexte et leur emplacement, vous pouvez le faire sur le web.fichier xml.

Ce fichier contient les ressources partagées qui seront visibles par tous les composants web, nous allons développer un service rest simple et c’est pourquoi je n’ai rien changé ici.

la majeure partie de la pièce est générée automatiquement et contient des configurations de plaques de chaudière., Cependant, les points importants à noter sont l’élément piloté par les annotations pour prendre en charge la configuration basée sur les annotations et le branchement de MappingJackson2HttpMessageConverter à RequestMappingHandlerAdapter messageConverters afin que L’API Jackson entre en jeu et convertit JSON en Beans Java et vice versa. En ayant cette configuration, nous utiliserons JSON dans le corps de la requête et nous recevrons des données JSON dans la réponse.

Spring REST Model Classes

écrivons une classe POJO simple qui servira d’entrée et de sortie à nos méthodes de service Web Restful.,

le seul point important à noter est l’utilisation de l’annotation@JsonSerializepour utiliser la classeDateSerializer pour la conversion de Date du type Java au format JSON et vice versa.

points de terminaison Spring Restful web service

Nous aurons les points de terminaison rest web services suivants.

Sl.,le stockage de données
2 /le reste/emp/{id} GET Pour obtenir de l’Employé de l’objet en fonction de l’id
3 /le reste/emps GET Pour obtenir la liste de tous les Employés de la banque de données
4 /repos/emp/créer POST Pour créer l’Employé de l’objet et de le stocker
5 /le reste/emp/supprimer/{id} METTRE Pour supprimer l’objet Employé à partir du stockage de données en fonction de l’id

Nous avons une classe définissant l’ensemble de ces URI comme des constantes de Chaîne.,

Spring Restful Web Service Controller class

notre classe EmployeeController publiera tous les points de terminaison de service Web mentionnés ci-dessus. Regardons le code de la classe, puis nous allons en apprendre davantage sur chacune des méthodes en détail.

pour plus de simplicité, je stocke toutes les données de l’employé dans L’empData HashMap. L’annotation @ RequestMapping est utilisée pour mapper l’URI de requête à la méthode du gestionnaire. Nous pouvons également spécifier la méthode HTTP qui doit être utilisée par l’application cliente pour appeler la méthode rest.,

l’annotation@ResponseBody est utilisée pour mapper l’objet de réponse dans le corps de la réponse. Une fois que l’objet response est renvoyé par la méthode handler, MappingJackson2HttpMessageConverter démarre et le convertit en réponse JSON.

l’annotation@PathVariable est le moyen facile d’extraire les données de l’URI rest et de les mapper à l’argument de la méthode.

l’annotation@RequestBody est utilisée pour mapper les données JSON du corps de la requête dans L’objet Employee, encore une fois cela est fait par le mappingjackson2httpmessageconverter.,

Reste du code est simple et évidente, notre application est prête pour le déploiement et les tests. Il suffit d’exporter en tant que fichier WAR et de le copier dans le répertoire de l’application Web du conteneur de servlet. Si le serveur est configuré dans le STS, vous pouvez simplement l’exécuter sur le serveur pour le déployer.

j’utilise WizTools RestClient pour appeler les appels rest mais vous pouvez également utiliser L’extension Chrome Postman.

les captures d’écran ci-dessous montrent les différentes invocations des API rest exposées par notre application et sa sortie.,

Health Check – Get Dummy Employee Rest Call

Create Employee POST Rest Call: assurez-vous que request Content-Type est défini sur « application / json” sinon vous obtiendrez le code D’erreur HTTP 415.,

Obtenir de l’Employé Appel Reste

Supprimer Employé Appel Reste

Obtenir Tous les Employés Appel Reste

Printemps Reste du Programme Client

Reste les Clients sont bonnes pour tester notre service web rest, mais la plupart du temps, nous avons besoin d’invoquer des services rest par le biais de notre programme. Nous pouvons utiliser Spring RestTemplate pour invoquer ces méthodes facilement. Vous trouverez ci-dessous un programme simple invoquant nos méthodes rest d’application à l’aide de L’API RestTemplate.,

la plupart du programme est simple à comprendre, Cependant lors de l’appel de la méthode rest renvoyant une Collection, nous devons utiliser LinkedHashMapcar la conversion JSON en objet ne connaît pas l’objet employé et le convertit en collection de LinkedHashMap. Nous pouvons écrire une méthode utilitaire pour convertir de LinkedHashMap à notre objet Java Bean.

lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante dans la console.,

un autre point est queRestTemplate les méthodes put n’ont pas d’option pour définir l’objet de réponse car la méthode PUT doit être utilisée pour stocker quelque chose sur le serveur et un simple code D’état HTTP 200 devrait suffire.

c’est tout pour le tutoriel D’application Web Spring Restful. Téléchargez l’exemple de projet à partir du lien ci-dessus et jouez avec lui pour en savoir plus.,

mise à jour: en raison de tant de demandes de fournir un exemple similaire avec XML ainsi que de prendre en charge à la fois XML et JSON, j’ai étendu cette application dans Spring REST XML JSON Example pour prendre en charge à la fois les demandes et les réponses XML et JSON. Je vous suggère fortement de passer par là pour voir la beauté du cadre de printemps et à quel point il est facile d’y parvenir.

vous pouvez télécharger le projet complet à partir de notre dépôt GitHub.

Leave A Comment