Swagger-Codegen使用
1. 是什么
swagger 是什么应该不需要介绍。swagger-Codegen是同一团队维护的开源项目,官方介绍如是:
Swagger Codegen can simplify your buildx process by generating server stubs and client SDKs for any API, defined with the OpenAPI (formerly known as Swagger) specification, so your team can focus better on your API’s implementation and adoption.
大致就是一个代码生成器,可以基于根据Swagger定义的RESTful API可以自动生成服务端和客户端代码。其实也就是基于Json。
2. 做什么
那这个“代码生成器”可以做什么呢,其实是有点像在反向生成“代码”。不过真是用途是在多端开发时,当建立了Rest接口,就可以借此生成对应的多语言、多风格的客户端代码了。
- 我的用处就是在基于JSON方向生成Java服务器端代码。
3. 怎么用
单纯使用的话,最简单的方式就是下载jar,之后就可以通过Java命令java -jar
来运行。
- 对于 MacOS ,可通过 HomeBrew 安装
brew install swagger-codegen
,之后直接使用如下命令:
swagger-codegen generate -i http://petstore.swagger.io/v2/swagger.json -l ruby -o /tmp/test/
如果是下载的 jar 首先可以使用:
java -jar swagger-codegen-cli-x.x.x.jar help generate
来查询帮助信息。也可以查看Swagger Codegen支持的具体某个语言的使用帮助,拿java举例:
java -jar swagger-codegen-cli-2.2.1.jar config-help -l java
下面是实例命令,列举出常用参数。
java -jar swagger-codegen-cli-xxx.jar generate -i {
yourSwaggerJsonPath} -l java -o {
yourOutputPath} -c {
configPath} -t {
templatePath}
-
-i
: 指定swagger描述文件的路径, url地址或路径 -
-l
: 指定生成客户端代码的语言,该参数为必须 -
-o
: 指定生成文件的位置(默认当前目录) -
-t
: 指定模版文件所在目录 (可选,代码生成基于jmustache,可以指定自定义模板文件) -
-c
: json格式的配置文件的路径;文件为json格式,支持的配置项因语言的不同而不同配置文件根式如下:
{
"library": "spring-boot"