Swagger是一款RESTful接口的文档在线自动生成、功能测试功能框架。一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,加上swagger-ui,可以有很好的呈现。 当我们在后台的接口修改了后,swagger可以实现自动的更新,而不需要人为的维护这个接口进行测试。
swagger常用注解:-
@Api(tags=“测试接口”) 用于Controller类,表示对类的说明,表示当前Controller是swagger的资源
- tags:说明该类的作用,可以在UI界面上看到的注解
- value:该参数没什么意义,在UI界面上也看到,所以不需要配置
-
@ApiOperation(“测试”) 用于方法,表示一个http请求的操作,说明方法的用途
- value:说明方法的用途
- notes:方法的备注说明
-
@ApiResponses:用在请求的方法上,表示一组响应
-
@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
- code:数字,例如400、401、403……
- message:信息,例如"请求参数没填好"
- response:抛出异常的类
-
@ApiParam() 用于方法,参数,字段说明,表示对参数添加元数据(说明或是否必填等)
-
@ApiModel() 用于响应类上,表示一个返回响应数据的信息 一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候
-
@ApiModelProperty() 用在属性上,描述响应类的属性
-
@ApiIgnore() 用于类,方法,方法参数,表示这个方法或者类被忽略
-
@ApiImplicitParams() 用在方法上,表示一组参数说明,包含多个 @ApiImplicitParam
-
@ApiImplicitParam() 用在方法上,用来描述一个参数,可以配置参数的含义,也可以给参数设置默认值,这样在接口测试的时候可以避免手动输入。 如果有多个参数,则需要使用多个@ApiImplicitParam注解来描述,多个@ApiImplicitParam注解需要放在一个@ApiImplicitParams注解中。 需要注意的是,@ApiImplicitParam注解中虽然可以指定参数是必填的,但是却不能代替。
- name:参数名
- value:参数的汉字说明、解释
- required:参数是否必须传
- dataType:参数类型,默认String。比如dataType=“int” 代表请求参数类型为int类型,当然也可以是Map、User、String等
- defaultValue:参数的默认值
- paramType:参数放在哪个地方 · header:放在请求头。请求参数的获取:@RequestHeader(代码中接收注解) · query:用于get请求的参数拼接。请求参数的获取:@RequestParam(代码中接收注解) · path:(用于restful接口)请求参数的获取:@PathVariable(代码中接收注解) · body:放在请求体。请求参数的获取:@RequestBody(代码中接收注解) · form:(不常用)