swagger的详细注解

swagger的详细注解作用范围 API API 常用参数 作用位置

​ | 作用范围 | API | API常用参数 | 作用位置 | | :----------------: | :----------------: | :----------------------------------------------------------: | :--------------------------: | | 协议集描述 | @Api | @Api(tags = {"tag1","tag2","..."}) | controller类 | | 协议描述 | @ApiOperation | @ApiOperation(value = "功能描述",notes = "备注") | controller类的方法 | | 描述返回对象的意义 | @ApiModel | @ApiModel(value="类名",description="类描述") | 返回对象类 | | 对象属性 | @ApiModelProperty | @ApiModelProperty(value = "类属性描述",required = *true*,example = "属性举例",notes = "备注") | 出入参数对象的字段 | | 非对象参数集 | @ApiImplicitParams | @ApiImplicitParams({@ApiImplicitParam(),@ApiImplicitParam(),...}) | controller的方法 | | 非对象参数描述 | @ApiImplicitParam | @ApiImplicitParam(name = "参数名",value = "参数描述",required = *true*,paramType = "接口传参类型",dataType = "参数数据类型") | @ApiImplicitParams的方法里用 | | Response集 | @ApiResponses | @ApiResponses({ @ApiResponse(),@ApiResponse(),..}) | controller的方法 | | Response | @ApiResponse | @ApiResponse(code = 10001, message = "返回信息") | @ApiResponses里用 | | 忽略注解 | @ApiIgnore | @ApiIgnore | 类,方法,方法参数 |

API使用详细说明

@Api

作用:用来指定接口的描述文字

修饰范围:作用在类上


@Api(tags = "TestController测试") @RestController public class TestController { .... } 

swagger的详细注解

@ApiOperation

作用:用来对接口中具体方法做描述

修饰范围:作用在方法上


@ApiOperation(value = "接口总体描述",notes = "详细描述: 方法详细描述信息") @GetMapping("/") public String login(String... index) { return "Hello login ~"; } 

value:用来对接口的总体描述

notes:用来对接口的详细描述


swagger的详细注解

@ApiImplicitParams

作用:用来对接口中参数进行说明

修饰范围:作用在方法上
参数:@ ApiImplicitParam数组





@ApiImplicitParam

作用:修饰接口方法里面的参

修饰范围:作用方法上
参数





  • name方法参数名称
  • value:方法参数的描述
  • dataType:方法参数数据类型
  • defaultValue :方法参数默认值(给测试人员做测试用的)
  • paramType :
    • 默认query:对应方式一
    • path:对应方式二
    • body:对应方式三

swagger的详细注解

方式一:url?id=1&user=’qlh’后面参数

@ApiOperation(value = "接口总体描述", notes = "详细描述: 方法详细描述信息") @ApiImplicitParams({ @ApiImplicitParam(name = "username", value = "用户名", dataType = "String", defaultValue = "qlh"), @ApiImplicitParam(name = "password", value = "密码", dataType = "String", defaultValue = "123") }) @PostMapping("/") public String login(String username, String password) { return "Hello login ~"; } 

方式二:url/1/2路径后 传参 在路径中获取参数

@ApiOperation(value = "接口总体描述", notes = "详细描述: 方法详细描述信息") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "id", dataType = "String", defaultValue = "qlh",paramType = "path"), @ApiImplicitParam(name = "name", value = "姓名", dataType = "String", defaultValue = "123",paramType = "path") }) @PostMapping("/index/{id}/{name}") public String index(@PathVariable("id") String id, @PathVariable("name") String name) { return "Hello World ~"; } 

方式三:在body中传参

@ApiOperation(value = "接口总体描述", notes = "详细描述: 方法详细描述信息") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "id", dataType = "String", defaultValue = "xxx", paramType = "body"), @ApiImplicitParam(name = "name", value = "姓名", dataType = "String", defaultValue = "123", paramType = "body") }) @PostMapping("/index") public String index(@RequestBody Map 
  
    map) { return "Hello World ~"; } 
  

@ApiResponses

作用:用于接口的响应结果

修改范围:作用在接口方法上
参数:@ ApiResponse数组





@ApiResponses({ @ApiResponse(), @ApiResponse(), ... }) 

@ApiResponse

作用:在ApiResponses里面对响应码以及响应内容进行设置

修饰范围:作用接口方法上
参数





  • code:响应状态码
  • message:响应状态码对应的响应内容
@ApiResponse(code = 10001, message = "签名错误"), @ApiResponse(code = 10002, message = "sql错误"), @ApiResponse(code = 10003, message = "服务怠机,请稍后重试"), 

swagger的详细注解

@ApiIgnore

作用:忽略类,方法,参数。(忽略的意思:在
swagger-ui.html中不显示)

修改范围:作用在类,方法,参数上


@ApiIgnore 

实体类中swagger注解

@ApiModel

作用:用来对实体类进行说明

修饰范围:作用在类上


@ApiModel(value="类名",description = "实体类描述") 

swagger的详细注解

@ApiModelProperty

作用:用来对实体类中的属性进行说明

修饰范围:作用在类中的属性上


@ApiModelProperty(value = "类属性描述",required = true,example = "属性举例",notes = "备注") 

swagger的详细注解

结束语

至此
springboot集成swagger2就讲完了,我相信,看完我这两篇文章之后的朋友,你们就能很熟练的在java代码中使用swagger了。

因为目前 前后端分离比较流行,所以写一个好的 swagger接口文档是很有必要的,这样就会减少前后端因为一些接口表述不清楚,导致的后端开发人员来回和前端人员交流沟通,大大的提高了开发的效率。


 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2026年3月17日 上午8:41
下一篇 2026年3月17日 上午8:41


相关推荐

  • SPI与IIC通信协议比对篇

    SPI与IIC通信协议比对篇目录一、SPI与IIC通信协议比对:二、SPI通信协议:(1)引脚简介(2)起始信号:标号①;停止信号:标号⑥(3)数据的有效性:②③④⑤(4)CPOL/CPHA及通讯模式三、IIC通信协议:(1)起始条件、停止条件(2)数据的有效性(3)主机写数据到从机(4)应答信号(ACK)与非应答信号(NACK)(5)字节格式(6)…

    2022年6月7日
    48
  • 一起学JAVA 反射学习(超详细)

    一起学JAVA 反射学习(超详细)1什么是反射?Reflection(反射)是Java程序开发语言的特征之一,它允许运行中的Java程序对自身进行检查,或者说“自审”,也有称作“自省”。反射非常强大,它甚至能直接操作程序的私有属性。我们前面学习都有一个概念,被private封装的资源只能类内部访问,外部是不行的,但这个规定被反射赤裸裸的打破了。反射就像一面镜子,它可以在运行时获取一个类的所有信息,可以获取到任何定义的信息(包括成员变量,成员方法,构造器等),并且可以操纵类的字段、方法、构造器等部分。2为什么需要反射?

    2022年6月11日
    36
  • shellfish的安装

    shellfish的安装安装 Fish 尽管 fish 是一个非常用户友好的并且功能丰富的 shell 但并没有包括在大多数 Linux 发行版的默认仓库中 它只能在少数 Linux 发行版中的官方仓库中找到 如 ArchLinux Gentoo NixOS 和 nbsp Ubuntu nbsp 等 然而 安装 fish 并不难 在 ArchLinux 和它的衍生版上 运行以下命令来安装它 sudo nbsp pacman nbsp Sfis

    2026年3月17日
    2
  • this指向及改变this指向的方法

    this指向及改变this指向的方法原先总结过 this 指向问题 但看了大佬们写的之后 觉得自己遗漏了很多点 所以 结合大佬们的 重写一遍一 函数的调用方式决定了 this 的指向不同 普通函数调用 此时 this 指向 windowfuncti console log this window fn window fn

    2026年3月18日
    2
  • ConcurrentHashMap1.8 – 扩容详解「建议收藏」

    ConcurrentHashMap1.8 – 扩容详解「建议收藏」简介ConcurrenHashMap在扩容过程中主要使用sizeCtl和transferIndex这两个属性来协调多线程之间的并发操作,并且在扩容过程中大部分数据依旧可以做到访问不阻塞,具体是如何实现的,请继续。说明:该源码来自于jdk_1.8.0_162版本。特别说明:不想看源码可直接跳到后面直接看图解。一、sizeCtl属性…

    2022年6月24日
    27
  • JAVA环境配置

    JAVA环境配置JAVA开发环境配置1window系统搭建java环境1.1下载JDK首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork

    2022年7月1日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号