前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot + Swagger 2 & 3

SpringBoot + Swagger 2 & 3

原创
作者头像
染指花晨曦
修改2023-09-17 14:13:21
4250
修改2023-09-17 14:13:21
举报
文章被收录于专栏:浮梦浮梦

Swagger 2 & 3 的区别

依赖

Swagger 2

Swagger 3

启用方式

Swagger 2

Swagger 3

访问方式

Swagger 2:ip:port/swagger-ui.html Swagger 3:ip:port/swagger-ui/index.html

配置

Doucument 类型

Swagger 2:DocumentationType.SWAGGER_2 Swagger 3:DocumentationType.OAS_30

示例

注解

@Api:请求类的说明

属性名称

说明

value

url 的路径值

tags

该类的作用

produces

对 Api 资源的描述

consumes

如, “application/json, application/xml”

protocols

协议类型,如: http, https, ws, wss.

authorizations

高级特性认证时配置

hidden

配置为 true ,将在文档中隐藏

@ApiOperation:方法的说明

属性名称

说明

value

说明方法的作用

notes

方法的备注说明

tags

tag 列表,可用于按自愿或任何其它限定符对操作进行逻辑分组

response

接口返回类型

responseContainer

声明包装响应的容器。有效值为 List,Set,Map,任何其它值都将被忽略

responseReference

指定对响应类型的引用,本地/远程引用,并将覆盖任何其它指定的 response()类

httpMethod

请求方式:“GET”, “HEAD”, “POST”, “PUT”, “DELETE”, “OPTIONS” and “PATCH”,如果未指定则使用除"PATH"之外的其它所有

nickname

第三方工具使用 operationId 来唯一表示此操作

produces

采用逗号分隔的 content types 类型的返回数据,例如:application/json,application/xml

consumes

采用逗号分隔的 content types 类型的入参数据类型,例如:application/json,application/xml

protocols

指定协议类型:http,https,ws,wss,多个协议使用逗号进行分隔

authorizations

获取此操作的授权列表

hidden

是否隐藏操作列表中的操作

responseHeaders

指定 response header 信息列表

code

HTTP 返回状态码

extensions

可选的扩展数组

ignoreJsonView

@ApiImplicitParams:用在请求的方法上,包含多 @ApiImplicitParam 或者 @ApiParam

属性名称

说明

value

API 可用的参数列表(@ApiImplicitParam)

@ApiImplicitParam:用于方法,表示单独的请求参数

属性名称

说明

name

参数名称(实体类字段名称)

value

参数简要说明

defaultValue

描述参数的默认值

allowableValues

限制此参数接收的值,可使用的值或值得范围

required

指定是否为必填参数,false:非必传参数; true:必传参数

access

参数过滤,参考: io.swagger.core.filter.SwaggerSpecFilte

allowMultiple

指定参数是否可以通过多次出现来接收多个值

dataType

参数的数据类型,可以使类名或原始数据类型

dataTypeClass

参数的类,如果提供则覆盖 dataType

paramType

参数的参数类型,有效值为 path, query, body, header, form

example

非请求体(body)参数的单个请求示例

examples

参数示例,仅适用于 BodyParameters(请求体类型的)

type

添加覆盖检测到的类型的功能

format

添加提供自定义格式的功能

allowEmptyValue

添加将 format 设置为空的功能

readOnly

添加被指定为只读的能力

collectionFormat

添加使用 array 类型 collectionFormat 的功能

@ApiParam:用于方法,参数,字段说明 表示对参数的要求和说明

属性名称

说明

name

参数名称,参数名称将从 filed/method/parameter 名称中派生,但你可以覆盖它,路径参数必须始终命名为它们所代表的路径部分

value

参数简单描述

defaultValue

描述参数默认值

allowableValues

可接收参数值限制,有三种方式,取值列表,取值范围

required

是否为必传参数, false:非必传; true:必传

access

参数过滤,请参阅:io.swagger.core.filter.SwaggerSpecFilter

allowMultiple

指定参数是否可以通过多次出现来接收多个值

hidden

隐藏参数列表中的参数

example

非请求体(body)类型的单个参数示例

examples

参数示例,仅适用于请求体类型的请求

type

添加覆盖检测到的类型的功能

format

添加提供自定义 format 格式的功能

allowEmptyValue

添加将格式设置为空的功能

readOnly

添加被指定为只读的能力

collectionFormat

添加使用 array 类型 collectionFormat 的功能

@ApiModel:用于响应实体类上,用于说明实体作用

属性名称

说明

value

为模型提供备用名称

description

提供详细的类描述

parent

为模型提供父类以允许描述继承关系

discriminator

支持模型继承和多态,使用鉴别器的字段的名称,可以断言需要使用哪个子类型

subTypes

从此模型继承的子类型数组

reference

指定对应类型定义的引用,覆盖指定的任何其他元数据

@ApiModelProperty:用在属性上,描述实体类的属性

属性名称

说明

value

属性简要说明

name

运行覆盖属性的名称。重写属性名称

allowableValues

限制参数可接收的值,三种方法,固定取值,固定范围

access

过滤属性,参阅:io.swagger.core.filter.SwaggerSpecFilter

notes

目前尚未使用

dataType

参数的数据类型,可以是类名或原始数据类型,此值将覆盖从类属性读取的数据类型

required

是否为必传参数,false:非必传参数; true:必传参数

position

允许在模型中显示排序属性

hidden

隐藏模型属性,false:不隐藏; true:隐藏

example

属性的示例值

accessMode

reference

指定对应类型定义的引用,覆盖指定的任何其他元数据

allowEmptyValue

允许传空值,false:不允许传空值; true:允许传空值

extensions

@ApiResponses:用于请求的方法上,根据响应码表示不同响应,包含多个 @ApiResponse

属性名称

说明

value

ApiResponse 列表

@ApiResponse:用在请求的方法上,表示不同的响应

属性名称

说明

code

响应的 HTTP 状态码

message

伴随响应的人类可读的消息

response

用于描述消息有效负载的可选响应类,对应于响应消息对象的 schema 字段

reference

指定对响应类型的引用,指定的应用可以使本地引用,也可以是远程引用,将按原样使用,并将覆盖任何指定的 response()类

responseHeaders

可能响应的 header 列表

responseContainer

声明响应的容器,有效值为 List,Set,Map,任何其他值都将被忽略

examples

@ApiIgnore():用于类或者方法上,不被显示在页面上

@Profile({"dev", "test"}):用于配置类上,表示只对开发和测试环境有用

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Swagger 2 & 3 的区别
    • 依赖
      • 启用方式
        • 访问方式
          • 配置
            • Doucument 类型
            • 示例
        • 注解
          • @Api:请求类的说明
            • @ApiOperation:方法的说明
              • @ApiImplicitParams:用在请求的方法上,包含多 @ApiImplicitParam 或者 @ApiParam
                • @ApiImplicitParam:用于方法,表示单独的请求参数
                • @ApiParam:用于方法,参数,字段说明 表示对参数的要求和说明
              • @ApiModel:用于响应实体类上,用于说明实体作用
                • @ApiModelProperty:用在属性上,描述实体类的属性
              • @ApiResponses:用于请求的方法上,根据响应码表示不同响应,包含多个 @ApiResponse
                • @ApiResponse:用在请求的方法上,表示不同的响应
              • @ApiIgnore():用于类或者方法上,不被显示在页面上
                • @Profile({"dev", "test"}):用于配置类上,表示只对开发和测试环境有用
                相关产品与服务
                容器服务
                腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档