OpenApi 3 从外部文件导入架构



我正在为 Web 服务定义通用模式,我想将它们导入规范的组件/模式部分。 我想创建一个跨多个服务通用的规范数据模型,以避免在每个服务定义中重新定义类似的对象。

有没有办法做到这一点? 是否有与 XSD 对其导入标记执行的操作类似的机制?

为了扩展Helen对那些从Google登陆的人的回答,如果Pet.yaml不是一个普通的对象,而是有几个这样的对象:

components:
schemas:
pet:
type: object
properties:
(...)

你可以这样引用它:

$ref: './common/Pet.yaml#/components/schemas/pet'

您可以使用绝对或相对 URL 直接$ref外部 OpenAPI 架构对象:

responses:
'200':
description: OK
schema:
$ref: './common/Pet.yaml'
# or
# $ref: 'https://api.example.com/schemas/Pet.yaml'

其中 Pet.yaml 包含,例如:

type: object
properties:
id:
type: integer
readOnly: true
petType:
type: string
name:
type: string
required:
- id
- petType
- name

有关详细信息,请参阅使用$ref。

相关内容

  • 没有找到相关文章

最新更新