Cela fait un moment que le swagger est devenu un sujet brûlant. Je l'utilise très facilement au travail. Lors de l'écriture de la définition de l'API avec swagger-editor, vous pouvez en fait ignorer la requête et la vérifier, ou demander à un autre ingénieur d'appuyer sur l'API pour la vérifier. Puisque postman etc. peut importer directement des fichiers swagger, vous pouvez créer des commandes de gestion simples par swaggar-> postman-> curl generation.
Cependant, lorsque j'essaie de l'utiliser pour l'implémentation, il y a des moments où il n'y a pas de générateur pour le framework Web que j'utilise, ou une bibliothèque cliente http différente est utilisée, donc c'est un peu insuffisant à utiliser pour mon environnement. pense.
Ceci est une introduction à l'utilisation du générateur de code pour ces personnes.
swagger-codegen
swagger Générateur de code java officiel. Il a une implémentation Plagger et peut générer à la fois des clients et des serveurs.
Le moteur de modèle de code est moustache.
mustache Il existe des implémentations compatibles dans différents langages et swagger-codegen utilise jmustache. Exemple de sortie "No repos:" s'il y a des dépôts dans Map et que le nom du membre des dépôts n'est pas affiché
python
{{#repos}}{{name}}{{/repos}}
{{^repos}}No repos :({{/repos}}
swagger-codegen est un projet maven et vous devez avoir maven installé pour le construire. Vérifiez d'abord et construisez.
python
git clone https://github.com/swagger-api/swagger-codegen
cd swagger-codegen
mvn
Ensuite, générez un modèle pour le générateur.
python
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar meta \
-o output/myLibrary -n myClientCodegen -p com.my.company.codegen
Le modèle de projet maven est sorti vers output / myLibrary. Il s'agit d'une implémentation simple qui hérite de la classe DefaultCodegen.
La structure des répertoires est la suivante
python
src
└── main
├── java
│ └── com
│ └── my
│ └── company
│ └── codegen
│ └── MyclientcodegenGenerator.java
└── resources
├── META-INF
│ └── services
│ └── io.swagger.codegen.CodegenConfig
└── myClientCodegen (Fichier modèle)
├── api.mustache
├── model.mustache
└── myFile.mustache
Vous pouvez modifier la sortie du formulaire fixe en réécrivant le modèle. Si vous voulez faire d'un étui de chameau un étui de serpent, vous l'écrivez en java.
Construisez et exécutez-le comme un essai. Pour une raison quelconque, certains gars n'ont pas généré de fichier modèle, je l'ajouterai donc aussi
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
Cela générera une bibliothèque dans le répertoire myClient.
Recommended Posts