Es ist schon eine Weile her, dass Prahlerei ein heißes Thema wurde. Ich benutze es sehr bequem bei der Arbeit. Während Sie die API-Definition mit dem Swagger-Editor schreiben, können Sie die Anforderung tatsächlich überspringen und überprüfen oder einen anderen Techniker bitten, die API zu drücken, um sie zu überprüfen. Da Postbote usw. Swagger-Dateien direkt importieren können, können Sie einfache Verwaltungsbefehle über Swaggar-> Postman-> Curl-Generierung erstellen.
Wenn ich jedoch versuche, es für die Implementierung zu verwenden, gibt es manchmal keinen Generator für das von mir verwendete Webframework oder eine andere http-Clientbibliothek, sodass die Verwendung für meine Umgebung etwas unzureichend ist. Überlegen.
Dies ist eine Einführung in die Verwendung des Codegenerators für solche Personen.
swagger-codegen
swagger Offizieller Java Code Generator. Es hat eine Plagger-Implementierung und kann sowohl Clients als auch Server generieren.
Die Codevorlagen-Engine ist Schnurrbart.
mustache Es gibt kompatible Implementierungen in verschiedenen Sprachen und swagger-codegen verwendet jmustache. Beispiel für die Ausgabe von "Keine Repos: (", wenn in Map Repos vorhanden sind und der Name des Mitglieds der Repos nicht ausgegeben wird
python
{{#repos}}{{name}}{{/repos}}
{{^repos}}No repos :({{/repos}}
swagger-codegen ist ein Maven-Projekt und Sie müssen Maven installiert haben, um es zu erstellen. Zuerst auschecken und bauen.
python
git clone https://github.com/swagger-api/swagger-codegen
cd swagger-codegen
mvn
Generieren Sie als Nächstes eine Vorlage für den Generator.
python
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar meta \
-o output/myLibrary -n myClientCodegen -p com.my.company.codegen
Das Template-Maven-Projekt wird in output / myLibrary ausgegeben. Es ist eine einfache Implementierung, die die DefaultCodegen-Klasse erbt.
Die Verzeichnisstruktur ist wie folgt
python
src
└── main
├── java
│ └── com
│ └── my
│ └── company
│ └── codegen
│ └── MyclientcodegenGenerator.java
└── resources
├── META-INF
│ └── services
│ └── io.swagger.codegen.CodegenConfig
└── myClientCodegen (Vorlagendatei)
├── api.mustache
├── model.mustache
└── myFile.mustache
Sie können die Ausgabe des festen Formulars ändern, indem Sie die Vorlage neu schreiben. Wenn Sie einen Kamelkoffer zu einem Schlangenkoffer machen möchten, schreiben Sie ihn in Java.
Erstellen Sie es und führen Sie es als Testversion aus. Aus irgendeinem Grund haben einige Leute keine Vorlagendatei generiert, deshalb werde ich das auch hinzufügen
python
cd output/myLibrary
touch src/main/resources/myClientCodegen/myFile.mustache
mvn install
cd ../../
java -cp output/myLibrary/target/myClientCodegen-swagger-codegen-1.0.0.jar:modules/swagger-codegen-cli/target/swagger-codegen-cli.jar io.swagger.codegen.SwaggerCodegen generate -l myClientCodegen -i http://petstore.swagger.io/v2/swagger.json -o myClient
Dadurch wird eine Bibliothek im myClient-Verzeichnis generiert.
Recommended Posts