Créer un Web Service Rest avec Spring Boot
Créer un Web Service simple, avec Spring Boot.
1. Initialisation du projet
a) Avec Spring Tool Suite ou Spring Tools dans Eclipse
New Spring Starter Project
Wizard de configuration du projet
Ajouter la dépendance Web
b) Avec Spring Initializr
Générer le projet avec Spring Initializr
Ajouter la dépendance Web
2. Créer le modèle de donnée
Ajouter une classe Java qui va représenter le modèle. Spring (en utilisant Jackson) va mapper les instances de notre classe en JSON automatiquement.
1 2 3 4 5 6 7 8 9 10 11 |
package com.mindsit.hello; public class Person { public String name; public Person(String name) { this.name = name; } } |
Jackson va mapper les champs publics, donc il n’est pas obligatoire de faire des champs privés avec getters/setters, dans ce cas.
3. Le contrôleur
Ajouter un contrôleur (Annotation @RestController) et une méthode qui va prendre en charge la requête.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
package com.mindsit.hello; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @RequestMapping("/hello") public Person buildPerson(@RequestParam String name) { return new Person(name); } } |
L’annotation @RequestMapping fait le mapping entre le path (« /hello ») and notre méthode.
@RequestParam précise un paramètre de requète (« name »).
4. Lancer l’application
a) Avec Spring Tools
Run Project As – Spring Boot App
Tip : Changer le port du serveur
b) Avec Maven
Lancer la cible Maven : spring-boot:run
5. Consommer le service
a) Dans le navigateur
Aller à l’URL http://localhost:8080/hello?name=xavier
Le résultat devrait etre :
1 |
{"name":"xavier"} |
b) En Java
See : Call a Rest Web Service in Java
c) En Javascript
See : Call a Rest Web Service in Javascript
Liens utiles
Spring Boot Rest Getting Started Guide

Xavier est actuellement Architecte Solutions en Freelance, et consultant technique. Il est présent depuis 10 ans dans le monde du développement informatique (Java, JEE, JavaScript, Angular, Node JS, React), et est fort de solides expériences en tant que Tech Lead ou architecte technique dans des structures de différentes tailles (PME, grand groupe, Startup), et dans différents secteurs (Assurance, Assurance Crédit, Transport, Téléphonie mobile, Energie).
Commentaires récents