[JAVA] Was tun, wenn Ihnen der von swagger-codegen-cli generierte Code nicht gefällt?

Ärger

Ich habe Swagger-codegen-cli verwendet, um Java-Client-Code mit Swagger Spec zu generieren, der von einem externen Dienst bereitgestellt wird. Als ich die Version von swagger-codegen-cli aktualisiert und neu erstellt habe, wurde der Getter von Boolean in "isXXX" anstelle von "getXXX" geändert.

Status

Passen Sie die Vorlage an

Fügen Sie beim Ausführen -t hinzu

#Beispiel
# -t:Geben Sie den Ordner an, in dem sich die Vorlage befindet.Das Erstellen von Vorlagendateien, die in der Vorlage vorhanden sind, hat Priorität
java -jar swagger-codegen-cli.jar generate -l java -t ./template -o swagger-java-client

Der Speicherort der ursprünglichen Vorlagendatei befindet sich in swagger-codegen / modules / swagger-codegen / src / main / resources / Java / auf github

Die Vorlagendatei, die ich dieses Mal überschreiben möchte, ist pojo.mustache. Blick auf den Getter-Teil


  public {{{datatypeWithEnum}}} {{#isBoolean}}is{{/isBoolean}}{{getter}}() {
    return {{name}};
  }
  {{^isReadOnly}}

Es gibt einen Ort, an dem es ist, also beheben Sie es wie folgt

{{#isBoolean}}
  public {{{datatypeWithEnum}}} get{{getter}}() {
    return {{name}};
  }
{{/isBoolean}}

{{!Get wird gesetzt, ohne get zu schreiben, mit Ausnahme von Boolean}}
{{^isBoolean}}
  public {{{datatypeWithEnum}}} {{getter}}() {
    return {{name}};
  }
{{/isBoolean}}
  {{^isReadOnly}}

Zusammenfassung

Dieses Mal habe ich Probleme mit dem generierten Code, daher habe ich die Vorlage überschrieben. Sie können es auch nach Ihren Wünschen anpassen.

Ergänzung

In Version 2.3.1 bleibt keine andere Wahl, als mit der Vorlagendatei zu überschreiben. In der nächsten Version bestimmt config möglicherweise das Präfix von Boolean. (Stand 13. April 2018)

Recommended Posts

Was tun, wenn Ihnen der von swagger-codegen-cli generierte Code nicht gefällt?
Was tun, wenn Sie das mit bootstrap-select erstellte Auswahlfeld nicht aktivieren können?
Was tun, wenn der Befehl Rails unbrauchbar wird?
Was tun, wenn Sie Ihr Root-Passwort unter CentOS7 vergessen haben?
Was tun, wenn der Server-Tomcat stirbt?
Was tun, wenn Sie das Plug-In nicht vom Eclipse Marketplace installieren können?
Was tun, wenn Um die fehlende Version zu installieren, führen Sie `gem install bundler: 2.1.4` aus
Was tun, wenn die Installation des Debug-Gems fehlschlägt?
Was tun, wenn der Rails-Server nicht gestartet werden kann?
Was tun, wenn Sie versehentlich ein Modell erstellen?
Was tun, wenn Sie den Text eines Elements in Selen nicht abrufen können?
Was tun, wenn Sie den Befehl "Java-Paketname / Klassenname" nicht ausführen können?
Was tun, wenn in GlassFish eine java.io.IOException auftritt?
Was tun, wenn der Befehl adb nicht ausgeführt werden kann?
[Rails] Was tun, wenn Sie versehentlich eine Bundle-Installation in einer Produktionsumgebung in Ihrer lokalen Umgebung durchführen?
Was tun, wenn Sie die Listen-Adresse im Einstellungsbildschirm des Dockers Mattermost ändern?
Was tun, wenn Sie Ruby mit rbenv installiert haben, die Version sich jedoch nicht ändert?
[Schienen] Was tun, wenn mit der Fehlermethode keine Fehlermeldung angezeigt wird?
Was tun, wenn im Testcode der Steuereinheit in Rails der Fehler "302" angezeigt wird?
Was tun, wenn während des Rails-Testcodes ein Fehler bei der Standardauthentifizierung auftritt?
[Ubuntu 20.04] Was tun, wenn der externe Monitor nicht erkannt wird?
Was tun, wenn in Docker ein gcc-Fehler auftritt?
Was tun, wenn die Validierung mit der Aktualisierungsaktion nicht funktioniert?
Was tun, wenn die Rails-Seite im Rails-Lernprogramm 1.3.2 nicht angezeigt wird?
Was tun, wenn Cloud 9 im Rails-Lernprogramm voll ist?
Was tun, wenn Sie sich über OpenSSL mit pyenv install ärgern?
[Rails] Was tun, wenn Sie mit form_with keine Parameter abrufen können?
Was tun, wenn Sie in Thymeleaf Layout eine groovige Warnung erhalten?
Was tun, wenn das Hintergrundbild nach der Bereitstellung nicht angewendet wird?
Was tun, wenn das Präfix c in JSP nicht gebunden ist?
Was tun, wenn auf GitHub eine MiniMagick-Sicherheitsanfälligkeitswarnung angezeigt wird?
Was tun, wenn Sie gem'bcrypt 'in Ihre Gemfile eingeben und bei der Bundle-Installation eine Fehlermeldung erhalten?
Was tun, wenn das von refile gepostete Bild nach dem Einstellen der 404-Fehlerseite in Rails verschwindet?
Was tun, wenn der Vorgang nicht zulässig ist, wenn ein Befehl im Terminal ausgeführt wird?
Was tun, wenn in CircleCI der Fehler zu lang ohne Ausgabe (über 10 m0s) angezeigt wird?
[Rails / Docker] Was tun, wenn der Browser (localhost: 3000) nach dem Hinzufügen eines Edelsteins den Zugriff verweigert?
[Gradle] [checkstyle] Was tun, wenn die aktive Einstellung von Checkstyle durch "Gradle-Projekt aktualisieren" aus Eclipse entfernt wird?
Was tun, wenn der Build mit dem Fehler "Mit Swift x.x.x kompiliertes Modul kann vom Swift x.x.x-Compiler nicht importiert werden" fehlschlägt.
Was tun, wenn Sie Gemfile oder .bundle / directory nicht finden konnten?
Was tun, wenn die Änderungen nicht in der JAR-Manifestdatei berücksichtigt werden?
Was tun, wenn die Meldung "Ein Server läuft bereits" angezeigt wird. Fehler beim Versuch, den Rails-Server zu starten
Was tun, wenn Sie aktiviert haben? Verwenden Sie die WSL2-basierte Engine in Docker Desktop mit unzureichender WSL2-Installation
Was tun, wenn mvn archetype: generate fehlschlägt?
Was tun, wenn das Laden der SPA-URL von WebView nicht erkannt werden sollte
Was verwenden Sie beim Konvertieren in String?
So übersetzen Sie die Fehlermeldung ins Japanische (Was tun, wenn Sie sich aus irgendeinem Grund nicht anmelden können)