[JAVA] Wie man einen Oleore-Generator mit Swagger Codegen herstellt

Einführung

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

Generierung von Generatorvorlagen

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.

Lassen Sie uns ein angenehmes Swgger-Leben haben!

Recommended Posts

Wie man einen Oleore-Generator mit Swagger Codegen herstellt
So erstellen Sie eine App mit Tensorflow mit Android Studio
Wie man einen imposanten Android-Musikplayer macht
So erstellen Sie ein Oleore-Zertifikat (SSL-Zertifikat, Selbstzertifikat)
Wie man ein schattiertes Glas macht
So machen Sie ein Bild mit Processing teilweise transparent
Java - So erstellen Sie JTable
Umgang mit Instanzen
[Schienen] Wie man Samen macht
So autorisieren Sie mit graphql-ruby
[Version 2020] So senden Sie eine E-Mail mit Android Studio Javamail
Was ist ein unveränderliches Objekt? [Erklärung, wie man macht]
So erstellen Sie mit SPRING INITIALIZR einen Hinadan für ein Spring Boot-Projekt
So erstellen Sie einen Java-Container
So erstellen Sie einen JDBC-Treiber
So fügen Sie eine externe Bibliothek ein
So veröffentlichen Sie eine Anwendung mithilfe der AWS (3) EC2-Instanzumgebungskonstruktion
So erstellen Sie einen Begrüßungsbildschirm
So erstellen Sie ein Jenkins-Plug-In
Ich habe versucht, mithilfe von Routing-Verschachtelung eine beliebige URL zu erstellen
Wie erstelle ich ein Maven-Projekt?
So erstellen Sie ein Java-Array
Wie man einen revolutionären Diamanten mit Java für Aussage macht wwww
[Android] So erstellen Sie ein Dialogfragment
So erstellen Sie CloudStack mit Docker
So erstellen Sie mit rbenv eine Umgebung für eine beliebige Version von Ruby
So erstellen Sie eine App mit einem Plug-In-Mechanismus [C # und Java]
So beschneiden Sie ein Bild in libGDX
Erstellen Sie mit Android Studio eine ausführbare JAR-Datei
So führen Sie einen Vertrag mit web3j aus
So erstellen Sie eine Java-Kalenderzusammenfassung
[Rails] So laden Sie Bilder mit Carrierwave hoch
So verwischen Sie das Bild (super einfach)
Ich möchte eine ios.android App machen
[Java] So berechnen Sie das Alter mit LocalDate
Schritte zum Veröffentlichen einer Anwendung auf Heroku
Wie erstelle ich einen Discord Bot (Java)
So definieren Sie eine Bean der inneren Klasse
[Swift5] So implementieren Sie Animationen mit "lottie-ios"
So implementieren Sie die Image-Veröffentlichung mithilfe von Schienen
So fügen Sie Symbole mit Font awesome ein
[Swift] So generieren Sie eine ID, um eine bestimmte Sache eindeutig zu identifizieren (mithilfe der UUID)
So erstellen Sie eine Beurteilungsmethode, um nach einem beliebigen Zeichen im Array zu suchen
So erstellen Sie ein Excel-Formular mithilfe einer Vorlagendatei mit Spring MVC
So geben Sie Excel und PDF mit Excella aus
Ausführen einer Methode und Verspotten mit JUnit
[Rails] So erstellen Sie ein Diagramm mit lazy_high_charts
Wie schreibe ich eine if-Anweisung, um die Lesbarkeit von Java zu verbessern?
So verwenden Sie ein Array für HashMap-Schlüssel
So verkleinern Sie das Spring Boot Docker-Image
So löschen Sie einen Controller usw. mit einem Befehl
Wie man Stimme oder Musik mit Javascript spielt
[Ethereum] So führen Sie einen Vertrag mit web3j-Teil 2 aus