首页 > 其他分享 >Swagger2注释篇

Swagger2注释篇

时间:2024-02-26 15:25:41浏览次数:10  
标签:ApiImplicitParam name value ApiResponse 注释 参数 Swagger2 String

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 {
    ....
}

 

@ApiOperation

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

修饰范围:作用在方法上
@ApiOperation(value = "接口总体描述",notes = "<span style='color:red;'>详细描述:</span>&nbsp;方法详细描述信息")
@GetMapping("/")
public String login(String... index) {
    return "Hello login ~";
}
value:用来对接口的总体描述

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

 

@ApiImplicitParams

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

修饰范围:作用在方法上

参数:@ApiImplicitParam数组

@ApiImplicitParam

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

修饰范围:作用方法上

参数

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

      • path:对应方式二
    • body:对应方式三

 

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

@ApiOperation(value = "接口总体描述", notes = "<span style='color:red;'>详细描述:</span>&nbsp;方法详细描述信息")
@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 = "<span style='color:red;'>详细描述:</span>&nbsp;方法详细描述信息")
@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 = "<span style='color:red;'>详细描述:</span>&nbsp;方法详细描述信息")
@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<String, Object> 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 = "服务怠机,请稍后重试"),

 

@ApiIgnore

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

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

实体类中swagger注解

@ApiModel

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

修饰范围:作用在类上
@ApiModel(value="类名",description = "实体类描述")

 

@ApiModelProperty

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

修饰范围:作用在类中的属性上
@ApiModelProperty(value = "类属性描述",required = true,example = "属性举例",notes = "备注")

转载至:java - SpringBoot中优雅的使用Swagger2【史上最全注解篇】-【2/2】 - 个人文章 - SegmentFault 思否

标签:ApiImplicitParam,name,value,ApiResponse,注释,参数,Swagger2,String
From: https://www.cnblogs.com/mozziemy/p/18034391

相关文章

  • FPGA之计数器简单运用(看注释
    先写源文件counter.v////////////////////////////////////////////////////////////////////////////////////ModuleName:counter//板子晶振为50mhz,就是50106hz,周期为20*10(-9)s,s/ms/us/ns/ps,相邻两单位前者是后者的1000倍//所以为20ns,///////////////////////////////......
  • C# 引用DLL调用时注释无法显示
    C#引用DLL调用时注释无法显示修改前,调用DLL中的方法没有注释:修改后,调用DLL中的方法有注释:解决办法:在生成DLL时,将项目属性的生成页面中,勾选“XML文档文件”使用时,需要将XML文件和DLL文件放在同一目录下转载:https://www.cnblogs.com/KingKwon/p/7419508.html......
  • FPGA之38译码器(看注释)
    先是编写源文件,我习惯把他的名字与项目名称统一decoder_3_8.v/*模块思路是输入abc,输出8选1,先定义各个端口,考虑到输出有多个选择所以用[7:0]*/moduledecoder_3_8(a,b,c,out);inputa;inputb;inputc;outputout;//注意在always中必须使用reg变量,所以还要把out转为......
  • Golang Swag 注释
    常用的注释用法:@title:指定API的标题。@description:对API的简要描述。@version:API的版本号。@termsOfService:API的使用条款。@contact:API的联系方式,例如邮箱。@license:API的许可证信息。@host:API的主机名和端口号。@BasePath:API的基本路径。@S......
  • vs2010 快捷键 注释
        3.写代码时经常要注释一些代码,测试,然后再取消注释,反复如此,可以记住这两个快捷键,按Ctrl+K,Ctrl+C注释代码,按Ctrl+K,Ctrl+U取消注释。可以在开发中不用将手在键盘和鼠标间移来移去,是一件多么惬意的事啊。这时候还可以配合Shift+上下键头,可以选择多行。就此告别用鼠标选......
  • 《Linux内核完全注释》(3)
    关于博客:当公开学习笔记写,如果对于有感想的地方就发散一下,没有感想的地方就了解学习一下。总之这个笔记不能代替书,也不是那种总结手册,更像是学习日记,请各位朋友理解。3.4C与汇编程序相互调用在Linux内核程序boot/head.s执行完基本初始化操作之后,就会跳转去执行init/main.c......
  • /* istanbul ignore next */ 这个注释是什么意思
    /*istanbulignorenext*/是一个针对Istanbul(或其后续项目nyc)代码覆盖率工具的特殊注释。当这个注释出现在JavaScript代码中,它指示Istanbul在生成代码覆盖率报告时忽略紧跟在该注释之后的一行或多行代码。Istanbul是一个流行的测试覆盖率工具,用于计算测试用例对代码库......
  • powerdesigner 生成mysql脚本,要求字段、表名有注释
    1.字段注释设置:在pdm视图中,Database-->EditCurrentDBMS。   找到MySql5.0-->Script-->Objects-->Column-->Add。a)原来的内容%20:COLUMN%[%National%?national]%DATATYPE%[%Unsigned%?unsigned][%ZeroFill%?zerofill][[.O:[characterset][charset]]%Ch......
  • 《Linux内核完全注释》(2)
    3内核编程语言和环境首先介绍了as86和GNUas汇编程序的语法和使用方法,对GNUC中的内联汇编、语句表达式、寄存器变量和内联函数等C语言扩展内容进行介绍,同时描述了C和汇编函数之间的相互调用机制。3.1as86汇编器是一个可以产生16位代码的汇编器,与之配套的是ld86链接器。其是B......
  • Java基础01:注释
    1.注释:1.1.平时编写代码,在代码量比较少的时候,还可以看懂自己写的,但是当项目结构一旦复杂,就需要用到注释1.2.注释不会被执行,是给写代码的人看的1.3.养成注释的好习惯2.java中的注释有三种:2.1单行注释2.2多行注释2.3文档注释1.创建一个......