我试图定义引用现有架构但覆盖其默认值的查询参数,但此覆盖似乎被忽略。是否有可能做到这一点?
例如,我有一个可重用架构定义为
PageNumber:
type: integer
example: 10
我有各种端点引用此模式作为查询参数,但是它们每个都有自己的默认值;一些端点默认为 10,其他端点默认为 20,等等。
/example/1:
get:
parameters:
- name: pageNumber
in: query
schema:
$ref: '#/components/schemas/PageNumber'
default: 10
responses:
...
/example/2:
get:
parameters:
- name: pageNumber
in: query
schema:
$ref: '#/components/schemas/PageNumber'
default: 20
responses:
...
问题在于,default
当参数架构引用现有架构时,该值似乎会被忽略。
但是,如果我更新参数,则不引用现有架构而是内联定义架构,则使用默认值:
/example/1:
get:
parameters:
- name: pageNumber
in: query
schema:
type: number
default: 10
是否可以覆盖并应用此默认值?
尝试使用
allOf
您可以看到
example
组件架构仍然解析,但该default
值已被覆盖