Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Testen von RESTful API | RESTful API
Spring Boot Backend
course content

Kursinhalt

Spring Boot Backend

Spring Boot Backend

1. Grundlagen der Backend-Entwicklung
2. Spring Boot Grundlagen
3. RESTful API
4. Arbeiten mit Datenbanken
5. Testen von Backend-Anwendungen

book
Testen von RESTful API

Im vorherigen Kapitel wurden wir in Swagger eingeführt und wie man damit arbeitet. In diesem Kapitel werden wir seine Nutzung durch ein praktisches Beispiel erkunden und unsere erste REST API vollständig abschließen!

Einstieg in Swagger

Im Video wurden Sie in die Hauptschnittstelle von Swagger eingeführt und wie man mit ihr interagiert.

Für Methoden, die einen Request-Body akzeptieren, generiert Swagger automatisch JSON basierend auf dem Objekt, das der aktuelle Endpunkt erhält.

Zusätzlich, wenn Sie Parameter in der URL haben, können Sie diese einfach in den entsprechenden Feldern angeben.

Swagger zeigt auch die möglichen Statuscodes für den Endpunkt und gibt den Rückgabetyp des Objekts (JSON/XML) an.

Und am wichtigsten—Sie mussten keinen zusätzlichen Code schreiben, um diese Dokumentation zu erstellen!

Einfach das Hinzufügen der Abhängigkeit und das Konfigurieren bei Bedarf (obwohl oft keine Konfiguration erforderlich ist) reicht aus, um automatisch eine Dokumentation für Ihre REST-API zu erhalten!

Arbeiten mit Anmerkungen

Lassen Sie uns kurz die Annotationen überprüfen, die in diesem Kapitel behandelt wurden:

@TagGruppiert verwandte Endpunkte und fügt ihnen eine Beschreibung hinzu.

java

BookController

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

@Operation – Beschreibt eine spezifische API-Methode, einschließlich ihres Zwecks und einer kurzen Beschreibung.

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 – Beschreibt die Methodenparameter, wie Pfadvariablen, Abfrageparameter und so weiter.

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 – Beschreibt eine einzelne spezifische mögliche Antwort, einschließlich des Antwortcodes und seiner Beschreibung.

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 – Definiert eine Reihe von möglichen Antworten für die Methode, einschließlich Statuscodes und Beschreibungen.

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); }

Projekt

Ich stelle auch einen Link zum Projekt bereit, falls etwas nicht funktioniert oder wenn Sie es genauer erkunden möchten:

Zusammenfassung

Swagger ermöglicht die automatische Erstellung von detaillierter Dokumentation für Ihre API, was die Nutzung und Tests erleichtert.

Mit Annotationen wie @Operation, @ApiResponse und @Parameter können Sie das Verhalten von Methoden, Parametern und möglichen Antworten beschreiben, ohne zusätzlichen Code hinzuzufügen. Dies macht Ihre REST API klarer und für Entwickler zugänglicher.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

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