[JAVA] Que faire si vous n'aimez pas le code généré par swagger-codegen-cli

difficulté

J'ai utilisé Swagger-codegen-cli pour générer du code java-client avec Swagger Spec fourni par un service externe. Quand j'ai mis à jour la version de swagger-codegen-cli et l'ai recréée, le getter de Boolean a changé en ʻisXXXau lieu degetXXX`.

Statut

Personnalisez le modèle

Ajouter -t lors de l'exécution

#Exemple
# -t:Spécifiez le dossier dans lequel se trouve le modèle.La priorité est donnée au fichier modèle qui existe dans le modèle.
java -jar swagger-codegen-cli.jar generate -l java -t ./template -o swagger-java-client

L'emplacement du fichier de modèle d'origine est dans swagger-codegen / modules / swagger-codegen / src / main / resources / Java / sur github

Le fichier modèle que je veux écraser cette fois est pojo.mustache. En regardant la partie getter


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

Il y a un endroit où il se trouve, alors corrigez-le comme suit

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

{{!Get est défini sans écrire get sauf pour Boolean}}
{{^isBoolean}}
  public {{{datatypeWithEnum}}} {{getter}}() {
    return {{name}};
  }
{{/isBoolean}}
  {{^isReadOnly}}

Résumé

Cette fois, j'ai des problèmes avec le code généré, j'ai donc écrasé le modèle. Vous pouvez également le personnaliser à votre guise.

Supplément

Dans la v2.3.1, il n'y a pas d'autre choix que d'écraser avec le fichier modèle, mais dans la prochaine version, config peut déterminer le préfixe de Boolean. (Au 13 avril 2018)

Recommended Posts

Que faire si vous n'aimez pas le code généré par swagger-codegen-cli
Que faire si vous ne pouvez pas activer la boîte de sélection créée par bootstrap-select
Que faire si la commande rails devient inutilisable
Que faire si vous oubliez votre mot de passe root sur CentOS7
Que faire si le serveur Tomcat meurt
Que faire si vous ne pouvez pas installer le plug-in à partir d'Eclipse Marketplace
Que faire quand Pour installer la version manquante, exécutez `gem install bundler: 2.1.4`
Que faire si l'installation du gem de débogage échoue
Que faire si le serveur Rails ne peut pas démarrer
Que faire si vous créez accidentellement un modèle
Que faire si vous ne pouvez pas obtenir le texte d'un élément dans Selenium
Que faire si vous ne pouvez pas exécuter avec la commande "nom du package Java / nom de la classe"
Que faire lorsqu'une exception java.io.IOException se produit dans GlassFish
Que faire si la commande adb ne peut pas être exécutée
[Rails] Que faire si vous effectuez accidentellement une installation groupée dans un environnement de production de votre environnement local
Que faire si vous modifiez l'adresse d'écoute à partir de l'écran des paramètres dans le menu fixe Mattermost
Que faire si vous avez installé Ruby avec rbenv mais que la version ne change pas
[Rails] Que faire si vous ne pouvez pas obtenir de message d'erreur avec la méthode des erreurs
Que faire si vous obtenez une erreur «302» dans le code de test du contrôleur dans Rails
Que faire si vous obtenez une erreur avec l'authentification de base pendant le code de test Rails
[Ubuntu 20.04] Que faire si le moniteur externe n'est pas reconnu
Que faire si vous obtenez une erreur gcc dans Docker
Que faire lorsque la validation ne fonctionne pas avec l'action de mise à jour
Que faire si la page Rails n'est pas affichée dans le didacticiel Rails 1.3.2
Que faire lorsque Cloud 9 est plein dans le didacticiel Rails
Que faire si vous vous fâchez contre OpenSSL avec Pyenv Install
[Rails] Que faire si vous ne pouvez pas obtenir de paramètres avec form_with
Que faire si vous obtenez un avertissement groovy dans Thymeleaf Layout
Que faire si l'image d'arrière-plan n'est pas appliquée après le déploiement
Que faire lorsque le préfixe c n'est pas lié dans JSP
Que faire si vous recevez une alerte de vulnérabilité MiniMagick sur GitHub
Que faire si vous entrez gem'bcrypt 'dans votre Gemfile et obtenez une erreur avec l'installation du bundle
Que faire si l'image publiée par refile disparaît après avoir défini la page d'erreur 404 dans Rails
Que faire si l'opération non autorisée s'affiche lors de l'exécution d'une commande dans le terminal
Que faire si vous obtenez l'erreur Trop long sans sortie (dépassé 10m0s) dans CircleCI
[Rails / Docker] Que faire si l'accès est refusé par le navigateur (localhost: 3000) après l'ajout d'un gem
[Gradle] [checkstyle] Que faire si le paramètre actif de Checkstyle est supprimé par "Refresh Gradle project" d'Eclipse
Que faire si la construction échoue avec l'erreur «Le module compilé avec Swift x.x.x ne peut pas être importé par le compilateur Swift x.x.x»
Que faire si vous obtenez Impossible de localiser le répertoire Gemfile ou .bundle /
Que faire si les modifications ne sont pas reflétées dans le fichier manifeste JAR
Que faire si le message "Un serveur est déjà en cours d'exécution" s'affiche. Erreur lors de la tentative de démarrage du serveur rails
Que faire si vous avez activé Utiliser le moteur basé sur WSL2 dans Docker Desktop avec une installation WSL2 insuffisante
Que faire si l'archétype mvn: générer échoue
Que faire si le chargement de l'URL SPA ne peut pas être détecté par WebView shouldOverrideUrlLoading
Qu'utilisez-vous lors de la conversion en String?
Comment traduire le message d'erreur en japonais (que faire si vous ne pouvez pas vous connecter pour une raison quelconque)