swagger2常用注解
这里写目录标题
- 完整代码实现
- 控制器
- javabean
- 对应的图片
主要分两个部分,控制器和实体类的注解
环境搭建https://coderwcb.blog.csdn.net/article/details/121170908
下方有对应的代码和图片,对应起来就可以
@Api:用在请求的类上,表示对类的说明tags="说明该类的作用,可以在UI界面上看到的注解"value="该参数没什么意义,在UI界面上也看到,所以不需要配置"@ApiOperation:用在请求的方法上,说明方法的用途、作用value="说明方法的用途、作用"notes="方法的备注说明"@ApiImplicitParams:用在请求的方法上,表示一组参数说明@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面name:参数名value:参数的汉字说明、解释required:参数是否必须传paramType:参数放在哪个地方· header --> 请求参数的获取:@RequestHeader· query --> 请求参数的获取:@RequestParam· path(用于restful接口)--> 请求参数的获取:@PathVariable· body(不常用)· form(不常用) dataType:参数类型,默认String,其它值dataType="Integer" defaultValue:参数的默认值@ApiResponses:用在请求的方法上,表示一组响应@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息code:数字,例如400message:信息,例如"请求参数没填好"response:抛出异常的类@ApiModel:用于响应类上,表示一个返回响应数据的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)@ApiModelProperty:用在属性上,描述响应类的属性
@ApiIgnore()用于类,方法,方法参数 表示这个方法或者类被忽略
完整代码实现
控制器
package com.mall.controller;import com.mall.beans.Cate;
import com.mall.beans.RespBean;
import com.mall.service.CateService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;/*** <p>* 前端控制器* </p>** @author wei* @since 2021-11-07*/
@Api(tags = "这是测试接口")
@RestController
@RequestMapping("/test")
public class CateController {@Autowiredprivate CateService cateService;@ApiOperation("获取所有数据")@GetMapping("/a")public RespBean getAll() {return new RespBean(200, "测试", null);}@ApiOperation(value = "获取一条数据", notes = "必须是数字")@GetMapping("/b")public RespBean getOne() {return new RespBean(200, "测试", null);}@ApiOperation("根据id获取数据")@ApiImplicitParams({@ApiImplicitParam(name = "id", value = "手机号", paramType = "path", defaultValue = "123456"),@ApiImplicitParam(name = "token", value = "密钥", paramType = "header", defaultValue = "token"), // 经测试,不能使用中文@ApiImplicitParam(name = "name", value = "名字", paramType = "query", defaultValue = "张三"),@ApiImplicitParam(name = "age", value = "年龄", defaultValue = "20"),@ApiImplicitParam(name = "cate", value = "类" ,paramType = "body",defaultValue = "这个默认值不生效") // 当传递一个类的时候还是不要写这个比较好,写了反倒还得修该为json})@PostMapping("/c/{id}")public RespBean getOne(@PathVariable("id") int id,@RequestHeader String token,@RequestParam String name,@RequestParam String age,@RequestBody Cate cate) {System.out.println(id+"=="+token+"=="+name+"=="+age+"=="+cate);return new RespBean(200, "测试", id+"=="+token+"=="+name+"=="+age+"=="+cate);}@ApiOperation(value = "select1请求",notes = "多个参数,多种的查询参数类型")@ApiResponses({@ApiResponse(code=400,message="请求参数没填好"),@ApiResponse(code=404,message="请求路径没有或页面跳转路径不对")})@PostMapping("/d")public RespBean select1(@ApiIgnore String name) {return new RespBean(200, "测试", null);}}
javabean
package com.mall.beans;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;import java.io.Serializable;/*** <p>** </p>** @author wei* @since 2021-11-07*/@ApiModel(description = "返回响应数据")
public class Cate implements Serializable {private static final long serialVersionUID = 1L;@ApiModelProperty(value = "主键")@TableId(value = "id", type = IdType.AUTO)private Integer id;@ApiModelProperty(value = "名字")private String name;private Integer pid;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getPid() {return pid;}public void setPid(Integer pid) {this.pid = pid;}@Overridepublic String toString() {return "Cate{" +"id=" + id +", name=" + name +", pid=" + pid +"}";}
}
对应的图片
参考文章:
https://blog.csdn.net/u014231523/article/details/76522486?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link
https://blog.csdn.net/jiangyu1013/article/details/83107255
swagger2常用注解相关推荐
- Swagger2常用注解说明
文章目录 Swagger2简介 使用Swagger解决的问题 Spring Boot集成Swagger2 添加依赖 添加Swagger2Config配置类 编写接口 用户DTO 用户controlle ...
- SpringBoot+Swagger2常用注解
场景 SpringBoot+Swagger2实现可视化API文档流程: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/936166 ...
- SpringBoot项目中使用Swagger2及注解解释(详细)
SpringBoot项目中使用Swagger2及注解解释 这里写目录标题 SpringBoot项目中使用Swagger2及注解解释 一.导入Swagger坐标依赖 二.在spring启动类添加注解@E ...
- springboot 集成 Swagger2 配置以及常用注解的说明和使用 ( 超详细)
一.注解的使用 和 说明 结构化说明如下: @Api:用在请求的类上,表示对类的说明 tags="说明该类的作用,可以在UI界面上看到的注解" (也就是给类取别名) ...
- Spring Boot 1.5.8集成Swagger2 + YApi —— Swagger常用注解说明
前言 受新型冠状病毒的影响,在家像猪一样不是睡就是吃,闲着就学着用下Swagger和YApi,特将这几天的学习成果写成了这系列的文章,希望能对大家有所帮助.武汉加油,中国加油! Spring Boot ...
- Swagger 学习笔记 | Swagger 简介 | Springfox 简介 | Springfox 2.9.2 常用注解 | Spring Boot 整合 Swagger2 案例
文章目录 一.Swagger 简介 二.Springfox 简介 三.Springfox2.9.2 常用注解 四.SpringBoot 整合 Swagger2 4.1 引入Maven依赖 4.2 项目 ...
- 常用注解,依赖,常用类,插件和其它(自用)
目录 参考 下面是自己写的笔记 java注解大全参考: 实用的注解: @Controller 和 @RestController @RequestMapper @PathVariable 和 @Req ...
- Spring MVC常用注解说明
2019独角兽企业重金招聘Python工程师标准>>> 使用Spring MVC的注解及其用法和其它相关知识来实现控制器功能. 02 之前在使用Struts2实现MV ...
- 40 个 Spring Boot 常用注解
以下文章来源方志朋的博客,回复"666"获面试宝典 作者 | 谭朝红 链接 | ramostear.com 一.Spring Web MVC 与 Spring Bean 注解 Sp ...
- 40 个 SpringBoot 常用注解
以下文章来源方志朋的博客,回复"666"获面试宝典 来源:https://ramostear.com/ 一.Spring Web MVC 与 Spring Bean 注解 Spri ...
最新文章
- 企业中如何避免因网卡硬件问题产生的损失
- (转) Weblogic 12c 集群部署和session复制
- 论文阅读:Multi-Scale Triplet CNN for Person Re-Identification
- tomcat架构之-----基本概念
- 从Java新手到大神需要学哪些知识?
- 计算机图形学图形旋转_计算机图形学翻译
- CSS3的边框(二)
- 删除某个目录及目录下的所有子目录和文件
- 用firefox保存网页
- 2012/7/25Extjs学习随笔
- 未来计算机多媒体化,计算机多媒体技术的发展趋势研究
- mybatis源码详解
- 概率图模型--因子图
- SqlServer2017安装northwind
- 蜂鸣器音乐代码 天空之城_聆听《天空之城》
- 【毕业设计】基于树莓派的指纹识别与RFID考勤系统 - 嵌入式 单片机 物联网
- IDA调试修改内存数据
- 考研部分概念和流程(若不全和错误可提示我补充,另考研帮app推荐)
- Github与Git安装使用
- 流媒体-RTP/RTCP