引入swagger的版本测试为:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
用于类(可选值:value,tags,description...可以自行查看源码)
代码片段:
效果图:
用于方法;表示一个http请求的操作 ,value用于方法描述 ,notes用于提示内容
用于方法,参数,字段说明;表示对参数的添加元数据(说明或是否必填等)
name–参数名
value–参数说明
required–是否必填(默认值为false)
代码片段:
效果图:
用于类 ;表示对类进行说明,用于参数用实体类接收
value–表示对象名
description–描述
都可省略
用于方法,字段; 表示对model属性的说明或者数据操作更改
value–字段说明
name–重写属性名字
dataType–重写属性类型
required–是否必填
example–举例说明
hidden–隐藏
代码片段:
@ApiOperation(value = "用户发送邮件操作", httpMethod = "GET", response = String.class, notes = "用户发送邮件操作,提供用户管理-用户发送邮件操作")
public String sendEmail(@ApiParam ( value = "userId", required = true ) @RequestParam (
value = "userId" ) String userId,
@ApiParam(name="邮件对象",value="传入json格式",required=true)
@RequestBody EmailModel model,
HttpServletRequest request) {
-------------------------------------------------------------------------------------------
@ApiModel(value="邮件对象",description="邮件对象实体类")
public class EmailModel extends BaseModel {
//邮件发送人
@ApiModelProperty(value="邮件发送人",name="sender",example="xxxxx@qq.com")
private String sender;
//邮件接收人
@ApiModelProperty(value="邮件接收人",name="recipients",example="xxxxx@qq.com")
private String recipients;
//邮件主题
@ApiModelProperty(value="邮件主题",name="recipients")
private String subject;
//邮件内容
@ApiModelProperty(value="邮件内容",name="邮件内容")
private String text;
}
效果图:
@ApiIgnore()
用于类或者方法上,可以不被swagger显示在页面上
@ApiImplicitParams, @ApiImplicitParam
用于方法上:name–参数ming
value–参数说明
dataType–数据类型
paramType–参数类型
example–举例说明
代码片段:
效果图:
(也可以单独使用
@ResponseHeader(name="ResponseHeader",description="ResponseHeader config")
)
作用于方法上
代码片段:
@ApiResponses(value = {
@ApiResponse(code = 405, message = "用户发送邮件405",
responseHeaders = @ResponseHeader(name = "X-Rack-Cache", description = "Explains whether or not a cache was used", response = Boolean.class)),
@ApiResponse(code = 406, message = "用户发送邮件406") })
效果图:
还有一些swagger注解使用为列出,平时很少用,可以参考swagger