ymal、json通过swagger-codegen反向生成java 接口代码

swagger可以自动生成规范的接口文档(json、ymal等格式),实际开发中,我们可能也需要通过接口文档逆向生成接口代码,下边是我测试时的生成过程,写下来免得以后忘了~

1、安装JDK

2、安装maven

3、下载swagger-codegen-cli.jar工具包

  下载请点击这里,也可以直接去git上边下载源码自己用maven打包

4、配置生成代码的参数

配置文件config.json如下:

    "library": "spring-mvc",
    "useRxJava2": "true",
    "developerName": "wumin",                       //  开发者姓名
    "developerEmail": "",                             // 开发者邮件
    "developerOrganization": "",                       //  开发者组织
    "invokerPackage": "com.wm.test",                 //项目包名
    "modelPackage":   "com.wm.test.dto",              // 生成的数据模型Java文件包名
    "apiPackage": "com.wm.test.api",                  //  生成***Api.java文件包名
    "artifactId": "swagger-petstore-retrofit2"
}

5、命令行中执行代码

执行命令如下:

java -jar swagger-codegen-cli-2.3.1.jar generate -i api.yaml -l java-o d:\springBean -c d:\config.json

生成的是一个完整的项目结构

参数解析:

  -jar 指定 swagger-codegen-cli-2.3.1.jar 的所在位置,绝对路径、相对路径均可;

  -i    指定api文档所在的位置,本地路径、网络路径均可;

  -l    指定客户端代码的语言;

  -o  指定生成代码的保存位置;

  -c  指定配置文件所在位置(文件为json格式,支持的配置项因语言的不同而不同);

 

除了可以指定上面3个参数,还有一些常用的:

-a    当获取远程swagger定义时,添加授权头信息;URL-encoded格式化的name,逗号隔开的多个值

--api-package      指定生成的api类的包名

--artifact-id            指定pom.xml的artifactId的值

--artifact-version  指定pom.xml的artifact的版本

--group-id             指定pom.xml的groupId的值

--model-package   指定生成的model类的包名

-s   指定该参数表示不覆盖已经存在的文件

-t    指定模版文件所在目录

 

参考:

GitHub of swagger-codegen

https://blog.csdn.net/hanerer1314/article/details/79496170

http://www.cnblogs.com/shamo89/p/7680771.html

https://www.jianshu.com/p/c178c18aaf43

 

 

Swagger Maven Plugin是一个用于生成Swagger接口文档的Maven插件。它可以帮助开发人员在构建项目时自动生成Swagger规范的JSON或YAML文件,以便于API文档的管理和使用。 使用Swagger Maven Plugin生成接口文档swagger.jsonswagger.yaml的步骤如下: 1. 在项目的pom.xml文件中添加Swagger Maven Plugin的依赖配置: ```xml <build> <plugins> <plugin> <groupId>com.github.kongchen</groupId> <artifactId>swagger-maven-plugin</artifactId> <version>3.1.8</version> <configuration> <!-- 配置Swagger文档的基本信息 --> <apiSources> <apiSource> <springmvc>true</springmvc> <locations>com.example.controller</locations> <basePath>/api</basePath> <info> <title>API文档</title> <version>1.0.0</version> <description>API接口文档</description> <termsOfServiceUrl>http://example.com/terms-of-service</termsOfServiceUrl> <contact> <email>contact@example.com</email> </contact> <license> <name>Apache 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.html</url> </license> </info> </apiSource> </apiSources> </configuration> <executions> <execution> <phase>compile</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` 2. 在项目根目录下执行以下命令生成Swagger接口文档: ``` mvn compile swagger:generate ``` 3. 执行完上述命令后,Swagger Maven Plugin会根据配置的信息扫描项目中的接口,并生成Swagger规范的JSON或YAML文件。生成的文件默认保存在项目的target目录下的swagger目录中。 生成Swagger接口文档可以通过访问http://localhost:8080/api/swagger-ui.html(假设项目部署在本地的8080端口)来查看和测试API接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值