gpt4 book ai didi

swagger - 如何在 OpenAPI 3 中定义另一个模式的数组?

转载 作者:行者123 更新时间:2023-12-02 01:05:18 25 4
gpt4 key购买 nike

我定义了这个架构:

User:
type: object
required:
- id
- username
properties:
id:
type: integer
format: int32
readOnly: true
xml:
attribute: true
description: The user ID
username:
type: string
readOnly: true
description: The username
first_name:
type: string
description: Users First Name
last_name:
type: string
description: Users Last Name
avatar:
$ref: '#/components/schemas/Image'
example:
id: 10
username: jsmith
first_name: Jessica
last_name: Smith
avatar: image goes here
xml:
name: user

效果很好。 GET /user/{id}调用可以很好地显示示例数据。

我有第二个架构,它创建上述架构的数组:

ArrayOfUsers:
type: array
items:
type: object
required:
- id
- username
properties:
id:
type: integer
format: int32
xml:
attribute: true
description: The user ID
username:
type: string
description: The username
first_name:
type: string
description: Users First Name
last_name:
type: string
description: Users Last Name
avatar:
$ref: '#/components/schemas/Image'

这也很有效。 GET /user调用可以很好地显示数组中的正确结构。

但我不想两次定义此架构。

我想创建一个利用第一个模式并放入数组中的模式。

我的这次尝试失败了。

我试过这样:

UserArray:
type: array
items:
type: object
required:
- id
- username
properties:
things:
type: array
items:
oneOf:
- $ref: '#/components/schemas/User'

这次尝试给了我一个空数组:

[
{}
]

这不是我想要的结果。

对此有任何提示吗?

最佳答案

User 对象数组定义如下:

UserArray:
type: array
items:
$ref: '#/components/schemas/User'

关于swagger - 如何在 OpenAPI 3 中定义另一个模式的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49827240/

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