前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >swagger常用注解[通俗易懂]

swagger常用注解[通俗易懂]

作者头像
全栈程序员站长
发布2022-07-29 21:08:52
发布2022-07-29 21:08:52
3.3K0
举报

大家好,又见面了,我是你们的朋友全栈君。

一、swagger常用注解

1、与模型相关的注解

两个注解:

  • @ApiModel:用在模型类上,对模型类做注释;
  • @ApiModelProperty:用在属性上,对属性做注释

2、与接口相关的注解

六个注解:

  • @Api:用在controller上,对controller进行注释;
  • @ApiOperation:用在API方法上,对该API做注释,说明API的作用;
  • @ApiImplicitParams:用来包含API的一组参数注解,可以简单的理解为参数注解的集合声明;
  • @ApiImplicitParam:用在@ApiImplicitParams注解中,也可以单独使用,说明一个请求参数的各个方面,该注解包含的常用选项有:
  • paramType:参数所放置的地方,包含query、header、path、body以及form,最常用的是前四个。
  • name:参数名;
  • dataType:参数类型,可以是基础数据类型,也可以是一个class;
  • required:参数是否必须传;
  • value:参数的注释,说明参数的意义;
  • defaultValue:参数的默认值;
  • @ApiResponses:通常用来包含接口的一组响应注解,可以简单的理解为响应注解的集合声明;
  • @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
  • code:即httpCode,例如400
  • message:信息,例如”请求参数没填好”

二、几个注意点:

  1. 为了在swagger-ui上看到输出,至少需要两个注解:@Api和@ApiOperation
  2. 即使只有一个@ApiResponse,也需要使用@ApiResponses包住
  3. 对于@ApiImplicitParam的paramType:query、form域中的值需要使用@RequestParam获取, header域中的值需要使用@RequestHeader来获取,path域中的值需要使用@PathVariable来获取,body域中的值使用@RequestBody来获取,否则可能出错;而且如果paramType是body,name就不能是body,否则有问题,与官方文档中的“If paramType is “body”, the name should be “body”不符。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/129676.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档