跳至内容

Swagger Codegen 生成器

如果默认的生成器配置不满足您的需求,您有多种选择来修改或创建新的模块或模板。

修改客户端库格式

不喜欢默认的 Swagger 客户端语法?想要支持不同的语言?没问题!

Swagger Codegen 使用 Handlebars.java 引擎处理 handlebar 模板。您可以修改我们的模板或创建自己的模板。

请查看 swagger-codegen-generators 获取示例。要创建您自己的模板,请创建您自己的文件并使用 -t 标志指定您的模板文件夹。就这么简单!

创建您自己的代码生成模块

如果您正在开始一个新语言的项目,并且没有找到您需要的东西,Swagger Codegen 可以帮助您创建一个项目来生成您自己的库。

终端窗口
1
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar meta \
2
-o output/myLibrary -n myClientCodegen -p com.my.company.codegen

这将在 output/myLibrary 文件夹中写入所有您需要的文件,包括一个 README.md。一旦修改并编译,您可以使用代码生成器加载您的库,并使用您自己定制的逻辑生成客户端。

然后,您可以使用 mvn packageoutput/myLibrary 文件夹中编译您的库,并像这样执行代码生成器:

终端窗口
1
java -cp output/myLibrary/target/myClientCodegen-swagger-codegen-1.0.0.jar:modules/swagger-codegen-cli/target/swagger-codegen-cli.jar io.swagger.codegen.v3.cli.SwaggerCodegen

对于 Windows 用户,您需要在 classpath 中使用 ; 而不是 :,例如:

终端窗口
1
java -cp output/myLibrary/target/myClientCodegen-swagger-codegen-1.0.0.jar;modules/swagger-codegen-cli/target/swagger-codegen-cli.jar io.swagger.codegen.v3.cli.SwaggerCodegen

请注意,myClientCodegen 现在是一个选项,您可以使用常用参数来生成您的库。

终端窗口
1
java -cp output/myLibrary/target/myClientCodegen-swagger-codegen-1.0.0.jar:modules/swagger-codegen-cli/target/swagger-codegen-cli.jar \
2
io.swagger.codegen.v3.cli.SwaggerCodegen generate -l myClientCodegen\
3
-i http://petstore.swagger.io/v2/swagger.json \
4
-o myClient

另请参阅 独立生成器开发

从本地文件生成客户端

如果您不想调用服务器,可以将 OpenAPI 描述文件保存到目录中,并像这样将参数传递给代码生成器:

终端窗口
1
-i ./modules/swagger-codegen/src/test/resources/2_0/petstore.json

非常适合在您的 CI 服务器上,从 Swagger Editor 中创建库……或者在飞机上编码时使用 ✈️。

© . All rights reserved.