Da in grösseren Entwicklungsteams oft unterschiedliche Leute an Front- und Backend arbeiten, ist eine entsprechende Dokumentation der Schnittstellen (z. B. REST APIs) unabdingbar. Dadurch wird sichergestellt, dass die Schnittstellen seitens Backend korrekt implementiert und seitens Frontend korrekt verwendet werden.
OpenAPI (https://www.openapis.org/) ist ein gebräuchlicher Standard, um APIs in einer JSON- oder YAML-Datei zu spezifizieren.
Machen Sie im Accounting-App-Projekt einen cherry-pick auf TODO um im Verzeichnis documentation/ die Datei openapi.yaml zu erhalten.
Swagger (https://swagger.io/) umfasst einige Tools rund um OpenAPI. Beispiele:
| Name | Verwendungszweck |
|---|---|
| Swagger Editor | Bearbeiten/Validieren von OpenAPI-Dateien |
| Swagger UI | Interaktive API-Dokumentation im Browser |
| Swagger Codegen / OpenAPI Generator | Generieren von Client- oder Server-Code aus OpenAPI-Dateien |
Nutzen Sie den Swagger Editor (https://editor.swagger.io/) um die definierten APIs in openapi.yaml anzusehen und zu verstehen.
Theoretisch könnten Sie auch das Swagger-UI (https://swagger.io/tools/swagger-ui/) benutzen, dieses müssten Sie aber erst herunterladen.
Builden Sie Ihr Projekt neu. Falls Sie dafür die IDE benutzen, müssen Sie sicherstellen, dass die IDE die Gradle-Tasks korrekt ausführt.
Der neue Task openApiGenerate in der Datei build.gradle erstellt nun automatisch bei jedem Build die entsprechenden Interfaces für die APIs.
build/generated/openapi/src/main/java/ch/bzz/generated/api/ und in build/generated/openapi/src/main/java/ch/bzz/generated/model/ korrekterweise Klassen erstellt wurden.src/main/java/ch/bzz/controller die Klassen AccountApiController.java, BookingApiController.java und ProjectApiController.java hinzu und lassen Sie die Klassen die entprechenden Interfaces implementieren.@RestController public class ProjectApiController implements ProjectApi { .... }
Man kann auch mit der OpenAPI-Datei und Postman die APIs testen.