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

 

 

你可能感兴趣的:(接口规范)