Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Tester l'API RESTful | API RESTful
Backend Spring Boot
course content

Contenu du cours

Backend Spring Boot

Backend Spring Boot

1. Notions de Base du Développement Backend
2. Notions de Base de Spring Boot
3. API RESTful
4. Travailler avec des Bases de Données
5. Tester les Applications Backend

book
Tester l'API RESTful

Dans le chapitre précédent, nous avons été introduits à Swagger et comment travailler avec lui. Dans ce chapitre, nous allons explorer son utilisation à travers un exemple pratique et compléter entièrement notre première API REST !

Commencer avec Swagger

Dans la vidéo, vous avez été introduit à l'interface principale de Swagger et comment interagir avec elle.

Pour les méthodes qui acceptent un corps de requête, Swagger génère automatiquement du JSON basé sur l'objet que le point de terminaison actuel reçoit.

De plus, si vous avez des paramètres dans l'URL, vous pouvez facilement les spécifier dans les champs correspondants.

Swagger montre également les codes de statut possibles pour le point de terminaison et spécifie le type de retour de l'objet (JSON/XML).

Et surtout important—vous n'avez pas eu besoin d'écrire de code supplémentaire pour générer cette documentation !

Il suffit d'ajouter la dépendance et de la configurer si nécessaire (bien que souvent aucune configuration ne soit requise) pour obtenir automatiquement la documentation de votre API REST !

Travailler avec les annotations

Passons en revue brièvement les annotations couvertes dans ce chapitre :

@TagRegroupe les points de terminaison associés et leur ajoute une description.

java

BookController

copy
1234
@Tag(name = "Books", description = "API for managing books") public class BookController { // struct }

@Operation – Décrit une méthode API spécifique, y compris son objectif et une brève description.

java

BookController

copy
1234
@Operation(summary = "Get a list of all books", description = "Returns a list of all available books") public List<BookResponseDTO> getAllBooks() { return bookService.findAllBooks(); }

@Parameter – Décrit les paramètres de méthode, tels que les variables de chemin, les paramètres de requête, etc.

java

BookController

copy
12345
public BookResponseDTO getBookById( @Parameter(description = "ID of the book to retrieve", required = true) @PathVariable String id) { return bookService.getBookById(id); }

@ApiResponse – Décrit une réponse possible spécifique, y compris le code de réponse et sa description.

java

BookController

copy
12345678
@ApiResponse(responseCode = "204", description = "Book successfully deleted") @DeleteMapping("/{id}") public void deleteBook( @Parameter(description = "ID of the book to delete", required = true) @PathVariable String id ) { bookService.deleteBook(id); }

@ApiResponses – Définit un ensemble de réponses possibles pour la méthode, y compris les codes d'état et les descriptions.

java

BookController

copy
12345678910111213
@ApiResponses({ @ApiResponse(responseCode = "200", description = "Book successfully updated"), @ApiResponse(responseCode = "404", description = "Book not found") }) @PutMapping("/{id}") public BookResponseDTO updateBook( @Parameter(description = "ID of the book to update", required = true) @PathVariable String id, @RequestBody(description = "Updated book details", required = true) BookRequestDTO book ) { return bookService.updateBook(id, book); }

Projet

Je fournis également un lien vers le projet au cas où quelque chose ne fonctionnerait pas ou si vous souhaitez l'explorer plus en détail :

Résumé

Swagger permet la génération automatique d'une documentation détaillée pour votre API, la rendant plus facile à utiliser et à tester.

Avec des annotations telles que @Operation, @ApiResponse, et @Parameter, vous pouvez décrire le comportement des méthodes, paramètres, et des réponses possibles sans ajouter de code supplémentaire. Cela rend votre API REST plus claire et plus accessible aux développeurs.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 7
We're sorry to hear that something went wrong. What happened?
some-alt