我有些招摇不定。当我认为我了解它的工作原理时,总会有不起作用的事情
那行有什么问题
responses:
'200':
allOf:
- $ref: '../index.yaml#/components/responses/200Ok'
content:
application/json:
schema:
allOf:
- $ref: '../index.yaml#/components/schemas/Pagination'
properties:
data:
type: array
items:
schema:
$ref: '../index.yaml#/components/schemas/Client'
“数据”属性应该是$ ref中给出的架构类型的数组,但这是结果
"data": [
null
]
好吧,看来正确的方法是将$ ref直接放在items键下,我的问题是使用保留键“ status” 那么,如何在对象模式中使用保留键?
在我的客户模式中,我两次输入了属性状态,但没有看到它已经存在,因此,当我更改属性名称时,它起作用了,并且我认为“状态”可能是保留关键字。 / p>
答案 0 :(得分:1)
您快到了。有两个问题:
1)您不能直接在响应代码下放置allOf
。不过,您可以$ref
整个响应定义。
2)您不需要schema
下的items
。
虽然将allOf
与其他关键字一起使用非常好,但是如果将所有组合的模式都列在内部 allOf
中,则某些工具可能会更喜欢。
尝试此版本:
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '../index.yaml#/components/schemas/Pagination'
- properties:
data:
type: array
items:
$ref: '../index.yaml#/components/schemas/Client'