30.6 Développement d'API REST avec Spring Boot : mappage de routes avec @RestController et @RequestMapping

Le développement d'API REST est un élément fondamental de la programmation Java moderne, et Spring Boot propose des outils puissants pour rendre ce processus efficace et rationalisé. Dans ce chapitre, nous explorerons comment créer des API REST avec Spring Boot, en nous concentrant sur le mappage de routes à l'aide des annotations @RestController et @RequestMapping.

Qu'est-ce qu'une API REST ?

Avant de nous lancer dans la mise en œuvre, il est important de comprendre ce qu'est une API REST. REST (Representational State Transfer) est un style architectural pour les systèmes distribués, et une API REST est une interface de programmation d'applications qui adhère à ce style. Il permet la communication entre différents systèmes logiciels sur Internet. Les API REST sont basées sur les ressources et chaque ressource est accessible via des URL uniques. La communication se fait généralement via le protocole HTTP.

Présentation de Spring Boot

Spring Boot est un projet Spring Framework qui vise à simplifier le processus de configuration et de publication d'applications basées sur Spring. Il offre un moyen rapide de créer des applications autonomes qui peuvent être exécutées facilement, réduisant ainsi le besoin de configuration manuelle et optimisant le processus de développement.

@RestController et @RequestMapping

Dans le contexte de Spring Boot, @RestController est une annotation utilisée pour définir un contrôleur Spring MVC qui dessert les points de terminaison d'une API REST. Cette annotation est une spécialisation de @Controller et indique que la classe gérera les requêtes Web. Cela garantit également que les données renvoyées par les méthodes sont écrites directement dans le corps de la réponse, généralement au format JSON ou XML.

D'un autre côté, @RequestMapping est une annotation utilisée pour mapper les requêtes Web à des méthodes spécifiques dans les contrôleurs. Il peut être appliqué à la fois au niveau de la classe et de la méthode et vous permet de configurer des aspects de la requête tels que l'URL, la méthode HTTP (GET, POST, PUT, DELETE, etc.), les en-têtes et les paramètres de la requête.

Créer un contrôleur avec @RestController

Pour créer un contrôleur REST dans Spring Boot, vous commencez par annoter une classe avec @RestController. Cela transforme la classe en bean Spring et lui permet de gérer les requêtes HTTP.

@RestController classe publique ExempleController { // Les méthodes du contrôleur iront ici }

Définir des itinéraires avec @RequestMapping

Au sein du contrôleur, vous définissez des méthodes pour gérer différents itinéraires. Chaque itinéraire peut être mappé à une méthode en utilisant @RequestMapping. Vous pouvez spécifier le chemin de routage, la méthode HTTP et d'autres détails de la requête.

@RestController classe publique ExempleController { @RequestMapping(value = "/example", méthode = RequestMethod.GET) chaîne publique getExample() { renvoyer « Exemple de données » ; } }

Dans l'exemple ci-dessus, un GET pour "/example" renverra la chaîne "Example data".

Paramètres d'itinéraire et de demande

Avec Spring Boot, vous pouvez facilement capturer les paramètres d'itinéraire et de requête. Les paramètres de route sont des parties variables du chemin de l'URL et sont annotés avec @PathVariable. Les paramètres de requête sont des valeurs transmises dans le cadre de la chaîne de requête URL et sont annotées avec @RequestParam.

@RestController classe publique ExempleController { @RequestMapping(value = "/example/{id}", méthode = RequestMethod.GET) public String getExampleById (@PathVariable("id") ID long) { // Logique pour renvoyer un exemple basé sur l'identifiant donné return "Exemple de données avec ID : " + id ; } @RequestMapping(value = "/example", méthode = RequestMethod.GET) public String getExampleWithParam (@RequestParam (name = "name", obligatoire = false) String name) { // Logique pour renvoyer un exemple basé sur le nom donné return "Exemple de données avec nom : " + nom ; } }

Réponses HTTP et codes d'état

Le contrôle des réponses HTTP et des codes d'état est essentiel pour une API REST. Spring Boot facilite cela avec l'annotation @ResponseStatus et la classe ResponseEntity. Avec @ResponseStatus, vous pouvez définir le code d'état de la réponse directement dans la méthode du contrôleur. Avec ResponseEntity, vous avez un contrôle plus précis sur la réponse, en pouvant définir les en-têtes, le corps et le code d'état.

@RestController classe publique ExempleController { @RequestMapping(value = "/example", méthode = RequestMethod.POST) @ResponseStatus(HttpStatus.CREATED) public void addExample (@RequestBody Exemple exemple) { // Logique pour ajouter un nouvel exemple } @RequestMapping(value = "/example/{id}", méthode = RequestMethod.PUT) public ResponseEntity<String> updateExample (@PathVariable ("id") ID long, exemple @RequestBody) { // Logique de mise à jour d'un exemple existant return ResponseEntity.ok("Exemple mis à jour avec succès"); } }

Conclusion

Le mappage d'itinéraires avec @RestController et @RequestMapping dans Spring Boot est une approche puissante et flexible pour développer des API REST. Avec ces annotations, vous pouvez créer des contrôleurs qui répondent à différents types de requêtes HTTP, gèrent les paramètres efficacement et contrôlent les réponses avec élégance. En maîtrisant ces concepts, vous serez bien équipé pour créer des API robustes et évolutives en Java.

Répondez maintenant à l’exercice sur le contenu :

Parmi les affirmations suivantes concernant le développement d’API REST avec Spring Boot, laquelle est correcte ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Développement d'API REST avec Spring Boot : gestion des paramètres de requête

Page suivante de lebook gratuit :

132Développement d'API REST avec Spring Boot : gestion des paramètres de requête

0 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte