gpt4 book ai didi

swagger-2.0 - 全局定义部分和组件部分有什么区别?

转载 作者:行者123 更新时间:2023-12-04 12:39:32 26 4
gpt4 key购买 nike

全局definitions有什么区别部分和 components Swagger 2.0 中的部分?

我遇到了一个 Swagger 定义的 YAML 文件,它被标记为 swagger: '2.0' .
它有一个名为 definitions 的部分正下方parameters .这类似于
https://swagger.io/docs/specification/2-0/basic-structure/
在“输入和输出模型”部分下。

在文件的更下方,它有 components部分与schemas它下面的部分。这类似于
https://swagger.io/docs/specification/components/
这看起来像OAS3。

但是,这个特定的 YAML 文件包含两个部分。我不确定是否definitions适用于 Swagger 2.0 和 componentsschemas在 OAS 3.0 中。是这样吗?

两者都可以definitionscomponents用于类型 swagger: '2.0' 的同一个 YAML 文件中或者我们应该坚持使用 definitionscomponents ?

# definitions section looks like this
definitions:
User:
properties:
id:
type: integer
name:
type: string
# Both properties are required
required:
- id
- name
# components section looks like this
components:
schemas:
Address:
type: object
properties:
line1:
type: string
city:
type: string

最佳答案

I am not exactly sure whether definitions is for Swagger 2.0 and components and schemas is in OAS 3.0. Is that so?


对,就是这样。 definitions部分用于 OpenAPI 2.0 文件 ( swagger: '2.0' )。 components部分用于 OpenAPI 3.x ( openapi: 3.x.x )。

Can both definitions and components be used in the same YAML file of type swagger: '2.0' or should we stick to either definitions or components?


不,您不能在同一个文件中混合使用 2.0 和 3.x 语法。如果您的文件是 swagger: '2.0'您必须使用 2.0 语法。如果是 openapi: 3.0.0您必须使用 3.0 语法。

关于swagger-2.0 - 全局定义部分和组件部分有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57566868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com