Ich möchte mit swagger-codegen REST-Clients und möglicherweise statische HTML-Dokumente generieren.
swagger-codegen benötigt jedoch swagger.json für die Eingabe.
Ich bin mir bewusst, dass ich dies von einem laufenden REST-Server mit Swagger erhalten kann.
Aber gibt es eine Möglichkeit, swagger.json direkt aus meinem Java-Code zu erhalten - also mit dem Quellcode aus dem Quellcode zu generieren - ohne die Anwendung in einem Webcontainer ausführen zu müssen und curl
oder einen Browser anzuzeigen dazu?
Das ist ein bisschen alt, aber ich habe mich genauso gefragt ... Kurz gesagt habe ich mit der Forschung begonnen:
Ich habe es geschafft, die JSON-Spezifikation als Build-Artefakt zu erzeugen, indem ich zwei verschiedene Ansätze benutzte:
Ich habe meine Forschung in einem einfachen Projekt hier zusammengefasst. Siehe den Abschnitt Automation
. Code und Beispiele sind enthalten.
Die Hauptidee ist, dass Sie swagger-maven-plugin und Ihre Java-Klassen in classpath für buildScript einfügen, damit Sie sie in der Klasse verwenden können, etwa so:
%Vor%wobei die erste Zeile in den Abhängigkeiten swagger libs vom Unterprojekt erhält und die zweite Zeile Ihre Klassen, die swagger Anmerkungen enthalten sollen.
Danach können Sie maven plugin im Gradle als einfache Java-Klasse aufrufen:
%Vor%Hier finden Sie dieses Beispiel.
Tags und Links java swagger swagger-codegen