swagger注解

547 阅读2分钟

常用注解:

  • @Api()用于类; 表示标识这个类是swagger的资源 例如:
@Api(tags = "模型定义") 
  • 1574665149128

  • @ApiOperation()用于方法; 表示一个http请求的操作

  @ApiOperation(value = "获取所有模型定义名称列表", httpMethod = "GET")

GET:查询
POST:新增
DELETE:删除
PUT:修改
要全大写

  • @ApiParam()用于方法,参数,字段说明; 表示对参数的添加元数据(说明或是否必填等) 也就是用于swagger提供开发者文档,文档中生成的注释内容。用于参数的括号里例如@ApiParam(name = "userName", value = "用户姓名", required = true)类似于 @ApiImplicitParam()

  • @ApiModel()用于类 (@ApiModel内的注释 不要出现相同 否则会将相同的vo内的字段进行合并) 表示对类进行说明,用于参数用实体类接收

  • @ApiModelProperty()用于方法,字段 表示对model属性的说明或者数据操作更改

  • @ApiModelProperty(name = "page", value = "当前第几页,第一页是1", example = "1")
    

@ApiModelProperty(hidden = true) //在一个对象中定义属性hidden是隐藏,整体类似与@ApiImplicitParam() 的用法


- @ApiIgnore()用于类,方法,方法参数 
表示这个方法或者类被忽略 

- @ApiImplicitParam() 用于方法 
表示单独的请求参数 

- @ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam

```java
@ApiImplicitParams({        
  @ApiImplicitParam(name = "nameOrDescription", value = "模型名称或描述", dataType = "string", paramType = "query",defaultValue = "firstall"),        
  @ApiImplicitParam(name="platform",value="模型运行平台", dataType = "string", paramType = "query",defaultValue = "S"),        
  @ApiImplicitParam(name="nlpMethod",value="切词方式", dataType = "string", paramType = "query",defaultValue = "NLP")        })
public ResponseEntity defind(GridVO gridVO,
                               @RequestParam(required = false) String nameOrDescription,
                               @RequestParam(required = false) String platform,
                               @RequestParam(required = false) String nlpMethod) {
//name :参数名,value:参数描述,dataType:数据类型,defaultValue:样例

paramType:表示参数放在哪个地方 header-->放在请求头,请求参数的获取:@RequestHeader(代码中接收注解) query-->用于get请求的参数拼接请求参数的获取:@RequestParam(代码中接收注解)@RequestParam,是获取前端传递给后端的参数,可以是get方式,也可以是post方式。其中如果前端传递的参数和后端你接受的参数起的名字字段是一致的可以省略不写,也可以直接写@RequestParam String title,如果不一致一定要完整写,不然获取不到 required = false:表示参数可为空 path(用于restful接口)-->是获取get方式,url后面参数,进行参数绑定请求参数的获取:@PathVariable(代码中接收注解) body-->放在请求体。请求参数的获取:@RequestBody(代码中接收注解) form(不常用)