一、介绍
Swagger2提供了在线文档的查阅和测试功能。利用Swagger2很容易构建阻STful风格的API,在SpringBoot中集成Swagger2。
二、配置
1、Gradle安装包
1 | compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2' |
第三方开发更符合阅读的ui,可以用来代替springfox-swagger-ui
swagger-ui-layer
1 | compile 'com.github.caspar-chen:swagger-ui-layer:1.1.3' |
2、配置文件
1 | package cn.pccpa.ims.launcher.config; |
3、启动项
增加@EnableSwagger2注解
4、启动项目
打开http://localhost:8080/swagger-ui.html#
查看
官方界面
人性化界面
三、Restful接口配置
1、常用注解
- @Api
Marks a class as a Swagger resource. - @ApiModel
Provides additional information about Swagger models. - @ApiModelProperty
Adds and manipulates data of a model property. - @ApiOperation
Describes an operation or typically a HTTP method against a specific path. - @ApiParam
Adds additional meta-data for operation parameters. - @ApiImplicitParam
Represents a single parameter in an API Operation. - @ApiImplicitParam
A wrapper to allow a list of multiple ApiImplicitParam objects.
具体请打开Quick Annotation Overview有详细说明
2、API地址
官方地址http://${host}:${port}/swagger-ui.html
新UI地址http://${host}:${port}/docs.html
(推荐)
四、实例
1、Controller层
需要对controller加上@Api注解,各方法添加@ApiOperation注解,方法的参数添加@ApiParam注解,具体对应请看下面例子
注意
@ApiImplicitParam注解遇到@RequestBody将不起效,作者已经注意到此bug,预计将在3版本后修复,请将遇到的model还是依旧进行注解标示
使用@ApiParam注解无bug
1 | "hr.recruit", tags="人力招聘简历接口") (value= |
或者将以下注解写在请求函数上面
1 | "获取简历表信息", notes = "简历表信息") (value = |
2、Model层
当方法的参数或返回类型涉及到类(Entity、Dto等),需要对类添加@ApiModel注解,对每一个变量添加@ApiModelProperty注解
1 | "简历搜索对象") (value= |