Swagger接口生成工作原理:
- 系统启动,扫描到api工程中的Swagger2Configuration类
- 在此类中指定了包路径com.xuecheng,找到在此包下及子包下标记有@RestController注解的controller类
- 根据controller类中的Swagger注解生成接口文档。
快速入门
1.创建Swagger配置类
1 | package com.xuecheng.api.config; |
2.接口上声明注解, 方法上也声明注解, 参数也声明注解
1 | package com.xuecheng.api.cms; |
3.pojo中声明注解
1 | package com.xuecheng.framework.domain.cms.request; |
4.启动类上面要加上包扫描@ComponentScan(basePackages={“com.xuecheng.api”})
实际上在启动类上加上@EnableSwagger2注解也可以, 但是没有一些配置了
1 | package com.xuecheng.manage_cms; |
5.测试
启动cms服务工程,查看接口文档,请求:http://localhost:31001/swagger-ui.html
1
2
3
4
5
6
7
8
9
10 >server:
port: ${PORT:31001}
>spring:
application:
name: xc-service-manage-cms
data:
mongodb:
#uri: mongodb://root:123@localhost:27017, 我设置的密码是root
uri: mongodb://root:root@localhost:27017
database: xc_cms
5.Swagger常用注解
在Java类中添加Swagger的注解即可生成Swagger接口,常用Swagger注解如下:
@Api:修饰整个类,描述Controller的作用
@ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数描述
@ApiModel:用对象来接收参数
@ApiModelProperty:用对象接收参数时,描述对象的一个字段
@ApiResponse:HTTP响应其中1个描述
@ApiResponses:HTTP响应整体描述
@ApiIgnore:使用该注解忽略这个API
@ApiError :发生错误返回的信息
@ApiImplicitParam:一个请求参数
@ApiImplicitParams:多个请求参数
@ApiImplicitParam属性:
属性 | 取值 | 作用 |
---|---|---|
paramType | 查询参数类型 | |
path | 以地址的形式提交数据 | |
query | 直接跟参数完成自动映射赋值 | |
body | 以流的形式提交 仅支持POST | |
header | 参数在request headers 里边提交 | |
form | 以form表单的形式提交 仅支持POST | |
dataType | 参数的数据类型 只作为标志说明,并没有实际验证 | |
Long | ||
String | ||
name | 接收参数名 | |
value | 接收参数的意义描述 | |
required | 参数是否必填 | |
true | 必填 | |
false | 非必填 | |
defaultValue | 默认值 |
发布时间: 2019-12-14
最后更新: 2019-12-15
本文标题: Swagger
本文链接: https://shiyongxu.github.io/2019/12/14/Swagger/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!