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

Lorsqu'il s'agit de développer des API REST à l'aide de Spring Boot, l'un des aspects les plus importants à maîtriser est la gestion appropriée des paramètres de requête. Ces paramètres sont essentiels à la communication entre le client et le serveur, permettant aux utilisateurs de fournir des informations qui influencent le comportement de l'API.

Comprendre les types de paramètres de requête

Il existe différents types de paramètres de requête qui peuvent être utilisés dans une API REST :

  • Paramètres de requête : ils sont inclus dans l'URL après le symbole « ? ». Ils sont utilisés pour filtrer les ressources ou modifier la réponse d'une manière ou d'une autre. Exemple : /users?age=25
  • Variables de chemin : elles sont utilisées pour identifier une ressource spécifique au sein d'une collection de ressources. Ils font partie de l'URL. Exemple : /users/{userId}
  • Corps de la requête : contient les données envoyées au format JSON ou XML qui sont utilisées pour créer ou mettre à jour des ressources.
  • En-têtes de demande : fournissez des informations supplémentaires sur la demande, telles que le type de contenu ou l'authentification.

Traitement des paramètres de requête

Dans Spring Boot, les paramètres de requête peuvent être facilement gérés avec l'annotation @RequestParam. Cette annotation peut être utilisée pour mapper des paramètres de requête individuels aux paramètres de méthode dans un contrôleur. Par exemple :

@GetMapping("/utilisateurs") public ResponseEntity<Liste<Utilisateur>> getUsers (@RequestParam (value = "age", obligatoire = false) Âge entier) { // Logique pour filtrer les utilisateurs par âge return ResponseEntity.ok(userService.getUsersByAge(age));

Si le paramètre 'age' n'est pas fourni, la valeur sera null et l'API pourra renvoyer tous les utilisateurs. Si elle est fournie, l'API filtrera les utilisateurs en fonction de l'âge spécifié.

Traitement des variables de chemin

Pour gérer les variables de chemin, Spring Boot utilise l'annotation @PathVariable. Cela vous permet d'extraire les valeurs des parties variables de l'URL. Voir l'exemple ci-dessous :

@GetMapping("/users/{userId}") public ResponseEntity<Utilisateur> getUserById (@PathVariable Long userId) { // Logique pour rechercher un utilisateur par ID return ResponseEntity.ok(userService.getUserById(userId));

La valeur de {userId dans l'URL est liée au paramètre userId de la méthode.

Traitement du corps de la demande

Pour gérer les données envoyées dans le corps de la requête, telles que JSON ou XML, nous utilisons l'annotation @RequestBody. Cela permet à Spring Boot de désérialiser automatiquement le corps de la requête en un objet Java. Par exemple :

@PostMapping("/utilisateurs") public ResponseEntity<Utilisateur> createUser (@RequestBody User newUser) { // Logique de création d'un nouvel utilisateur return ResponseEntity.status(HttpStatus.CREATED).body(userService.createUser(newUser));

Ici, le JSON envoyé dans la requête est converti en un objet Utilisateur.

Traitement des en-têtes de requête

Les en-têtes de requête peuvent être gérés à l'aide de l'annotation @RequestHeader. Ceci est utile pour extraire des informations telles que des jetons d'authentification ou des types de contenu. Voir un exemple :

@GetMapping("/utilisateurs") public ResponseEntity<Liste<Utilisateur>> getUsers (@RequestHeader (value = "Authorization") String authToken) { // Logique pour authentifier l'utilisateur avec le token fourni return ResponseEntity.ok(userService.getAuthenticatedUsers(authToken));

Cette méthode extrait la valeur de l'en-tête 'Authorization' et l'utilise pour authentifier l'utilisateur avant de renvoyer la liste des utilisateurs.

Validation des paramètres

En plus de simplement traiter les paramètres, il est souvent nécessaire de les valider. Spring Boot prend en charge l'intégration avec l'API Bean Validation pour valider les paramètres de requête. Par exemple :

@PostMapping("/utilisateurs") public ResponseEntity<Utilisateur> createUser (@Valid @RequestBody User newUser) { // Logique de création d'un nouvel utilisateur return ResponseEntity.status(HttpStatus.CREATED).body(userService.createUser(newUser));

Ici, l'objet User sera validé par rapport aux contraintes définies dans ses annotations de validation (comme @NotNull, @Size, etc. ) avant d'être traité par la méthode.

Conclusion

Le bon traitement des paramètres de requête est un aspect fondamentalmental dans le développement d'API REST avec Spring Boot. Comprendre comment utiliser les annotations @RequestParam, @PathVariable, @RequestBody et @RequestHeader, ainsi que la validation de paramètres, vous permet de créer des API robustes et flexibles qui peuvent répondre efficacement aux besoins des utilisateurs.

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

Parmi les affirmations suivantes concernant la gestion des paramètres de requête dans les 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évelopper des API REST avec Spring Boot : création de services et injection de dépendances

Page suivante de lebook gratuit :

133Développer des API REST avec Spring Boot : création de services et injection de dépendances

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