gpt4 book ai didi

Swagger:如何让属性引用 OpenAPI 2.0 中的模型(即嵌套模型)?

转载 作者:行者123 更新时间:2023-12-04 09:31:01 24 4
gpt4 key购买 nike

我很难弄清楚如何在 OpenAPI 2.0 中嵌套模型。

目前我有:

SomeModel:
properties:
prop1:
type: string
prop2:
type: integer
prop3:
type:
$ref: OtherModel

OtherModel:
properties:
otherProp:
type: string

我尝试了很多其他方法:

prop3:
$ref: OtherModel
# or
prop3:
schema:
$ref: OtherModel
# or
prop3:
type:
schema:
$ref: OtherModel

以上似乎都不起作用。

但是,使用数组工作得很好:

prop3:
type: array
items:
$ref: OtherModel

最佳答案

在 OpenAPI 2.0 中对其建模的正确方法是:

swagger: '2.0'
...

definitions:
SomeModel:
type: object
properties:
prop1:
type: string
prop2:
type: integer
prop3:
$ref: '#/definitions/OtherModel' # <-----

OtherModel:
type: object
properties:
otherProp:
type: string

如果您使用 OpenAPI 3.0,模型位于 components/schemas而不是 definitions :

openapi: 3.0.1
...

components:
schemas:
SomeModel:
type: object
properties:
prop1:
type: string
prop2:
type: integer
prop3:
$ref: '#/components/schemas/OtherModel' # <-----

OtherModel:
type: object
properties:
otherProp:
type: string

记得加 type: object到您的对象模式,因为 type is not inferred来自其他关键字。

关于Swagger:如何让属性引用 OpenAPI 2.0 中的模型(即嵌套模型)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26287962/

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