一、注解概述

常用注解:
@Api()用于类;

表示标识这个类是swagger的资源 ,@Api 注解用于标注一个Controller(Class)

@ApiOperation()用于方法;

表示一个http请求的操作

@ApiParam()用于方法,参数,字段说明;

表示对参数的添加元数据(说明或是否必填等)

@ApiModel()用于类

表示对类进行说明,用于参数用实体类接收

@ApiModelProperty()用于方法,字段

表示对model属性的说明或者数据操作更改

@ApiIgnore()用于类,方法,方法参数

表示这个方法或者类被忽略

@ApiImplicitParam() 用于方法

表示单独的请求参数

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

二、注解使用

@Api

@Api 注解用于标注一个Controller==(Class)。在默认情况下,Swagger-Core只会扫描解析具有@Api注解的类,而会自动忽略其他类别资源(JAX-RS endpoints,Servlets等等)的注解。

@Api属性一览表:

示例代码:

@Controller
@Slf4j
@RequestMapping("/user")
@Api(tags = "人员信息 API", description = "提供人员信息相关的 Rest API",value="controller类")
public class UserController extends BaseController {
}
@[ApiOperation

@ApiOperation 注解在用于对一个操作或HTTP方法进行描述(用于@mapping方法上)==。具有相同路径的不同操作会被归组为同一个操作对象。不同的HTTP请求方法及路径组合构成一个唯一操作。

示例代码:

@ApiOperation("根据id查询")
@GetMapping("/getById/{id}")
public Stutest getById(@ApiParam(name = "id",required = true)
@PathVariable("id") Long id){
Stutest byId = stutestService.getById(id);
return byId;
}
@ApiParam

@ApiParam作用于请求方法上,定义api参数的注解。

示例代码:

  • name: 参数名
  • value: 参数说明
  • required:是否必填
public ResponseEntity<User> getUserById(
@ApiParam(name="id",value = "ID of user that needs to be fetched",
allowableValues = "range[1,10]", required = true)
@PathVariable("UserId") Long userId)
@ApiImplicitParams、@ApiImplicitParam

@ApiImplicitParams、@ApiImplicitParam 都可以定义参数.

(1).@ApiImplicitParam() 用于方法

表示单独的请求参数

(2).@ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam ,用在请求的方法上,包含一组参数说明;
  • name–参数名字
  • value–参数说明
  • dataType–数据类型
  • paramType–参数类型
  • example–举例说明

代码示例:

@ApiImplicitParams({
//参数效验
@ApiImplicitParam(name="phonenum",value="手机号",required=true,paramType="form"),
@ApiImplicitParam(name="password",value="密码",required=true,paramType="form"),
@ApiImplicitParam(name="age",value="年龄",required=true,paramType="form",dataType="Integer")
})
@PostMapping("/login")
public ApiResult login(@RequestParam String mobile, @RequestParam String password,
@RequestParam Integer age){
//...
return JsonResult.ok(map);
}
@ApiResponses、@ApiResponse

@ApiResponses、@ApiResponse进行方法返回对象的说明。

代码示例:

@ApiResponses({
@ApiResponse(code = 200, message = "请求成功"),
@ApiResponse(code = 400, message = "请求参数没填好"),
@ApiResponse(code = 404, message = "请求路径没有或页面跳转路径不对")
})
@ResponseBody
@RequestMapping("/user")
public ApiResult getUser(@RequestParam String userId) {
...
}
@ApiModel、@ApiModelProperty

@ApiModel用于描述一个Model的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)。

@ApiModelProperty用来描述一个Model的属性

使用场景

  • @ApiModel 用在模型类上,对模型类作注解
  • @ApiModelProperty 用在属性上,对属性作注解

代码演示:

//人员信息表
@Data
@ApiModel(description= "返回人员信息")
public class UserQueryVo extends BaseEntity{ @ApiModelProperty(value = "主键", required = true)
@TableId(value = "id", type = IdType.ID_WORKER)
private Long id; @ApiModelProperty(value = "手机号", required = true)
private String phonenum; @ApiModelProperty(value = "密码", required = true)
private String password; @ApiModelProperty(value = "年龄", required = true)
private Integer age;
}

Swagger常用注解详解的更多相关文章

  1. SpringMVC 常用注解 详解

    SpringMVC 常用注解 详解 SpringMVC 常用注解 1.@RequestMapping                                      路径映射 2.@Requ ...

  2. springmvc常用注解详解

    1.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ...

  3. Spring Data Jpa (五)@Entity实例里面常用注解详解

    详细介绍javax.persistence下面的Entity中常用的注解. 虽然Spring Data JPA已经帮我们对数据的操作封装得很好了,约定大于配置思想,帮我们默认了很多东西.JPA(Jav ...

  4. 【转】@RequestParam @RequestBody @PathVariable 等参数绑定注解详解

    @RequestParam @RequestBody @PathVariable 等参数绑定注解详解 2014-06-02 11:24 23683人阅读 评论(2) 收藏 举报 目录(?)[+] 引言 ...

  5. Java基础13:反射与注解详解

    Java基础13:反射与注解详解 什么是反射? 反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. Orac ...

  6. @PathVariable @RequestParam @RequestBody等参数绑定注解详解

    一.分类 handler method 参数绑定常用的注解,我们根据他们处理的Request的内容不同分为四类: 处理request uri 部分的注解:   @PathVariable;(这里指ur ...

  7. DOS常用命令详解

    DOS常用命令详解 dir 列文件名 deltree 删除目录树 cls 清屏 cd 改变当前目录 copy 拷贝文件 diskcopy 复制磁盘 del 删除文件 format 格式化磁盘 edit ...

  8. Kubernetes K8S之通过yaml文件创建Pod与Pod常用字段详解

    YAML语法规范:在kubernetes k8s中如何通过yaml文件创建pod,以及pod常用字段详解 YAML 语法规范 K8S 里所有的资源或者配置都可以用 yaml 或 Json 定义.YAM ...

  9. Java ”框架 = 注解 + 反射 + 设计模式“ 之 注解详解

    Java "框架 = 注解 + 反射 + 设计模式" 之 注解详解 每博一文案 刹那间我真想令时光停住,好让我回顾自己,回顾失去的年华,缅怀哪个穿一身短小的连衣裙 和瘦窄的短衫的小 ...

  10. logback 常用配置详解<appender>

    logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...

随机推荐

  1. vue中使用axios获取到的Promise {<pending>}数据,无法使用的问题

    使用axios拿到后端数据后 返回的是 Promise {} 我们可以看到数据是在[[PromiseResult]]这个Object对象中 此时我们是无法获取对象的 解决方法:使用async和awai ...

  2. Set 的各个实现类的性能分析

    HashSet 和TreeSet是Set的典型实现.HashSet 比TreeSet性能好,TreeSet需要额外通过红黑树算法维护集合 的顺序.除了需要维护集合的顺序外,其他的都优先用HashSet ...

  3. Macbook装Window后闪屏

    打开英特尔显卡控制面板 电源-使用电池 把各种模式功能全部禁用掉(记得切换模式别漏了修改). 若不生效记得重启,即可生效!

  4. 前端开发系列031-基础篇之BOM

    本文介绍BOM相关的知识点,介绍的重点在于BOM核心Window对象的成员细节. BOM简单介绍 我们已经知道JavaScript的范围包括ECMAScript(语言核心) + DOM(文档对象模型) ...

  5. vue 不完美的多标签页解决方案

    背景 多标签页多用在中后台管理系统,能够让用户同时打开多个标签页,而且不会丢失之前填写的内容,操作起来会比较方便.虽然部分开源项目有多标签页的功能,但就体验来看,算不上特别好. 目标 可以通过rout ...

  6. .NET周刊【7月第1期 2025-07-06】

    国内文章 .NET中全新的MongoDb ORM框架 - SqlSugar https://www.cnblogs.com/sunkaixuan/p/18959484 .NET中MongoDB ORM ...

  7. API快速开发,低代码开发平台

    低代码开发平台让API开发效率快速提升,RestCloud低代码开发平台提供高效率开发环境,普通工程师只需要简单的技术就可以快速完成系统的开发.低代码开发平台可与第三方软件无缝集成,可以快速的开发企业 ...

  8. win10系统出现电脑关机后自动重启的解决方法

    有msdn官网的用户不知道怎么了,在win10系统中点了关机以后,电脑却直接重启了.小伙伴怀疑是因为一些软件正在运行占用系统资源导致的,所以又在点击关机之前退出了所有软件,但是点击关机后电脑还是又重启 ...

  9. EF6基本使用

    1.EF基本搭建 EF也用了好几年了,但是在日常开发的时候,有时候因为偷懒,有时候因为赶项目,很多代码,多半就是Ctrl+C和Ctrl+V,慢慢的一些代码怎么写都忘记了,虽然觉得很简单,但是就是记不起 ...

  10. 【转】-Java实现生产者和消费者的5种方式

    Java实现生产者和消费者的5种方式 该博客转载自​掘金​的​Java实现生产者和消费者的5种方式 1. 前言 生产者和消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一个存储空间 ...