Swagger2 使用注解解析

这段时间项目要规范接口文档,最后决定用Swagger,虽然默认的ui很丑,不过国内的一个swagger-bootstrap-ui开源项目还是挺好的,使用的过程中一些注解的解释,记录一下

如果不想暴露有些敏感接口,可以添加@ApiIgnore注解屏蔽接口

@Api(value = "contentshare", tags = "controller层的注解,tabs的名称")
@ApiOperation(value = "接口名称", notes = "接口注释")
@PostMapping(consumes = "如果使用PostMapping,这个默认值为json类型(可能是我框架默认的,待测试)")
@ApiParam("定义参数注释时,required = true非空属性不生效,改用了ApiImplicitParam")
----------------------------------------------------------------------------------------------
@ApiImplicitParams{
  @ApiImplicitParam(name="a1",value="注释1",dataType="String", paramType = "query",example="xingguo"),
  @ApiImplicitParam((name="a2",value="注释2",dataType="类名", paramType = "query",example="xingguo"))
}
参数解释:
paramType:表示参数放在哪个地方
    header-->请求参数的获取:@RequestHeader(代码中接收注解)
    query-->请求参数的获取:@RequestParam(代码中接收注解)
    path(用于restful接口)-->请求参数的获取:@PathVariable(代码中接收注解)
    body-->请求参数的获取:@RequestBody(代码中接收注解)
    form(不常用)
example = "example:表示默认值,是Swagger生成Example Value时的默认值,方便Swagger测试使用,不是接口调用时的默认值。
dateType="String": 指定入参的数据类型,可以是泛型,基本类型,类名(如果用@RequertBody接受入参,如果有ApiImplicitParam注解,会导致ui上model中参数为空,不知道这是什么BUG,去掉就好了)
----------------------------------------------------------------------------------------------
@ApiModel(value = "model层的注解,解释类名称")
@ApiModelProperty(value = "model属性的名称",required = true) //required = true 是否必填

 

posted @ 2020-05-14 14:23  摩尔迦娜  阅读(588)  评论(0)    收藏  举报