宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

swagger2 注解说明 一、maven依赖二、swagger2 注解整体说明三、swagger2 注解详细说明1.@Api:请求类的说明2.@ApiOperation:方法的说明3.@ApiImplicitParams、@ApiImplicitParam:方法参数的说明4.@ApiResponses、@ApiResponse:方法返回值的状态码说明5.@ApiModel:用于JavaBean上面,表示对JavaBean 的功能描述5.1、当请求数据描述时, `@RequestBody` 时的使用5.2、@ApiModelProperty:用在JavaBean类的属性上面,说明属性的含义

一、maven依赖 <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency> 二、swagger2 注解整体说明

1.用于controller类上:

注解说明@Api对请求类的说明

2.用于方法上面(说明参数的含义):

注解说明@ApiOperation方法的说明@ApiImplicitParams、@ApiImplicitParam方法的参数的说明;@ApiImplicitParams 用于指定单个参数的说明

3.用于方法上面(返回参数或对象的说明):

注解说明@ApiResponses、@ApiResponse方法返回值的说明 ;@ApiResponses 用于指定单个参数的说明

3.对象类:

注解说明@ApiModel用在JavaBean类上,说明JavaBean的 用途@ApiModelProperty用在JavaBean类的属性上面,说明此属性的的含议三、swagger2 注解详细说明 1.@Api:请求类的说明 @Api:放在 请求的类上,与 @Controller 并列,说明类的作用,如用户模块,订单类等。tags=”说明该类的作用”value=”该参数没什么意义,所以不需要配置”

示例:

@Apitags=”订单模块”)@Controllerpublic class OrderController {}

@Api 其它属性配置:

属性名称备注valueurl的路径值tags如果设置这个值、value的值会被覆盖description对api资源的描述basePath基本路径position如果配置多个Api 想改变显示的顺序位置produces如, “application/json, application/xml”consumes如, “application/json, application/xml”protocols协议类型,如: http, https, ws, wss.authorizations高级特性认证时配置hidden配置为true ,将在文档中隐藏2.@ApiOperation:方法的说明 @ApiOperation:”用在请求的方法上,说明方法的作用”value=”说明方法的作用”notes=”方法的备注说明” 3.@ApiImplicitParams、@ApiImplicitParam:方法参数的说明 @ApiImplicitParams:用在请求的方法上,包含一组参数说明@ApiImplicitParam:对单个参数的说明 name:参数名 value:参数的说明、描述 required:参数是否必须必填 paramType:参数放在哪个地方 · query –> 请求参数的获取:@RequestParam · header –> 请求参数的获取:@RequestHeader · path(用于restful接口)–> 请求参数的获取:@PathVariable · body(请求体)–> @RequestBody User user · form(普通表单提交) dataType:参数类型,默认String,其它值dataType=”Integer” defaultValue:参数的默认值

示列:

@Apitags=”用户模块”)@Controllerpublic class UserController {@ApiOperationvalue=”用户登录”,notes=”随边说点啥”)@ApiImplicitParams{@ApiImplicitParamname=”mobile”,value=”手机号”,required=true,paramType=”form”),@ApiImplicitParamname=”password”,value=”密码”,required=true,paramType=”form”),@ApiImplicitParamname=”age”,value=”年龄”,required=true,paramType=”form”,dataType=”Integer”)})@PostMapping”/login”)public JsonResult login@RequestParam String mobile, @RequestParam String password,@RequestParam Integer age){//… return JsonResult.okmap);}} 4.@ApiResponses、@ApiResponse:方法返回值的状态码说明 @ApiResponses:方法返回对象的说明@ApiResponse:每个参数的说明 code:数字,例如400 message:信息,例如”请求参数没填好” response:抛出异常的类

示例:

@Apitags=”用户模块”)@Controllerpublic class UserController {@ApiOperation”获取用户信息”)@ApiImplicitParams{@ApiImplicitParamparamType=”query”, name=”userId”, dataType=”String”, required=true, value=”用户Id”)}) @ApiResponses{@ApiResponsecode = 200, message = “请求成功”),@ApiResponsecode = 400, message = “请求参数没填好”),@ApiResponsecode = 404, message = “请求路径没有或页面跳转路径不对”)}) @ResponseBody@RequestMapping”/list”)public JsonResult list@RequestParam String userId) {…return JsonResult.ok).put”page”, pageUtil);}} 5.@ApiModel:用于JavaBean上面,表示对JavaBean 的功能描述

@ApiModel的用途有2个:

当请求数据描述,即 @RequestBody 时, 用于封装请求(包括数据的各种校验)数据;当响应值是对象时,即 @ResponseBody 时,用于返回值对象的描述。 5.1、当请求数据描述时, @RequestBody 时的使用 @ApiModeldescription = “用户登录”)public class UserLoginVO implements Serializable {private static final long serialVersionUID = 1L;@ApiModelPropertyvalue = “用户名”,required=true)private String username;@ApiModelPropertyvalue = “密码”,required=true)private String password;// getter/setter省略} @Apitags=”用户模块”)@Controllerpublic class UserController {@ApiOperationvalue = “用户登录”, notes = “”)@PostMappingvalue = “/login”)public R login@RequestBody UserLoginVO userLoginVO) {User user=userSerivce.loginuserLoginVO);return R.okDatauser);}}

5.2、@ApiModelProperty:用在JavaBean类的属性上面,说明属性的含义

示例:

@ApiModeldescription= “返回响应数据”)public class RestMessage implements Serializable{@ApiModelPropertyvalue = “是否成功”,required=true)private boolean success=true;@ApiModelPropertyvalue = “错误码”)private Integer errCode;@ApiModelPropertyvalue = “提示信息”)private String message; @ApiModelPropertyvalue = “数据”)private Object data;/* getter/setter 略*/}

http://localhost:5680/zxmall/swagger-ui.html