Java @Schema和@ApiModel等注解的联系浅析

 更新时间:2023年08月05日 15:25:27   作者:mythangelboy  
这篇文章主要给大家介绍了关于Java @Schema和@ApiModel等注解的联系的相关资料,我在看公司之前的文档,发现了@schema注解,不太了解,所以查询了一些资料,把我的见解记录下,需要的朋友可以参考下

引言

我在看公司之前的文档,发现了@schema注解,不太了解,所以查询了一些资料,把我的见解记录下:

开始的时候,没查到太多信息,后来查到了,原来就是用过的@APImodel注解,一个是swagger2常用的注解,一个是swagger3常用的注解。

swagger2常用的5个注解:

最常用的5个注解
@Api:修饰整个类,描述Controller的作用
@ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数描述
 
@ApiModel:用对象来接收参数
@ApiProperty:用对象接收参数时,描述对象的一个字段
 
 
其它若干
@ApiResponse:HTTP响应其中1个描述
 
@ApiResponses:HTTP响应整体描述
 
@ApiClass
 
@ApiError
 
@ApiErrors
 
@ApiParamImplicit
 
@ApiParamsImplicit

用 swagger 3 注释替换 swagger 2 注释

(它已经包含在springdoc-openapi-ui依赖项中)。swagger 3 注释的包是io.swagger.v3.oas.annotations

依赖项:

swagger3只需要一个依赖即可

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-boot-starter -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

swagger2到swagger3的变化规则:

@Api → @Tag
@ApiIgnore→@Parameter(hidden = true)或@Operation(hidden = true)或@Hidden
@ApiImplicitParam → @Parameter
@ApiImplicitParams → @Parameters 
@ApiModel → @Schema
@ApiModelProperty(hidden = true) → @Schema(accessMode = READ_ONLY)
@ApiModelProperty → @Schema
@ApiOperation(value = "foo", notes = "bar") → @Operation(summary = "foo", description = "bar")
@ApiParam → @Parameter
@ApiResponse(code = 404, message = "foo") → @ApiResponse(responseCode = "404", description = "foo")

之后我问了GPT4:

 今天又学到一个新注解@schema,加油

总结

到此这篇关于Java @Schema和@ApiModel等注解联系的文章就介绍到这了,更多相关@Schema和@ApiModel注解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaScript基本语法学习教程

    JavaScript基本语法学习教程

    javascript语言是网页中广泛使用的一种脚本语言,通过本文给大家介绍javascript基本语法,需要的朋友可以参考下本文
    2016-01-01
  • 小程序实现授权登陆的解决方案

    小程序实现授权登陆的解决方案

    这篇文章主要介绍了小程序实现授权登陆的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • JS中let的基本用法举例

    JS中let的基本用法举例

    ES6新增了let命令,用来声明变量,它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效,下面这篇文章主要给大家介绍了关于JS中let的基本用法,需要的朋友可以参考下
    2023-01-01
  • 比例尺、缩略图、平移缩放之百度地图添加控件方法

    比例尺、缩略图、平移缩放之百度地图添加控件方法

    这篇文章主要介绍了比例尺、缩略图、平移缩放之百度地图添加控件方法,大家都知道百度地图API中提供了丰富的控件,您还可以通过Control类来实现自定义控件,需要的朋友可以参考下
    2015-08-08
  • JavaScript中.min.js和.js文件的区别讲解

    JavaScript中.min.js和.js文件的区别讲解

    今天小编就为大家分享一篇关于JavaScript中.min.js和.js文件的区别讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • 微信小程序实现多行文字滚动效果

    微信小程序实现多行文字滚动效果

    这篇文章主要介绍了微信小程序实现多行文字滚动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • 浅谈javascript中lodash与lodash-es的区别

    浅谈javascript中lodash与lodash-es的区别

    本文主要介绍了javascript中lodash与lodash-es的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-10-10
  • JavaScript之cookie技术详解

    JavaScript之cookie技术详解

    这篇文章主要为大家详细介绍了JavaScript之cookie技术,运用JS设置cookie、读取cookie、删除cookie ,需要的朋友可以参考下
    2016-11-11
  • 基于aotu.js实现微信自动添加通讯录中的联系人功能

    基于aotu.js实现微信自动添加通讯录中的联系人功能

    这篇文章主要介绍了利用aotu.js实现微信自动添加通讯录中的联系人,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05

最新评论