openapi - 是否可以覆盖 OpenAPI 3 中引用参数的“必需”属性?
问题描述
我正在构建一个简单的 OpenAPI 3 YAML 规范,如下所示:
paths:
/query:
get:
parameters:
- $ref: '#/components/parameters/bookid'
components:
parameters:
bookid:
in: query
name: bookid
required: false
schema:
format: integer
type: number
现在,我想使用 commonbookid
参数,但覆盖to的required
值。例如(这不起作用!!!):false
true
paths:
...
/query2:
get:
parameters:
- $ref: '#/components/parameters/bookid'
required: true # <--- ???
有没有办法做到这一点?
解决方案
这是不支持的。您需要对必需参数和可选参数进行单独的参数定义。
从 OpenAPI 3.1 开始,您只能覆盖被description
引用参数的 ,而不能覆盖其他属性(required
和name
其他)。
# openapi: 3.1.0
parameters:
# This works
- $ref: '#/components/parameters/bookid'
description: Custom description
# This won't work - cannot override attributes other than "description"
- $ref: '#/components/parameters/bookid'
required: true
以下是现有的功能请求:
推荐阅读
- r - 在 R Shiny APP 的反应式中调用变量
- javascript - D3 图表:使用 d3.axisLeft(y) 方法时,如何防止 Y 轴网格线使用整个图表宽度
- apache-kafka - 在单词计数应用程序的上下文中,Kafka KTable 中的单词计数从某个随机值开始
- reactjs - 从公共文件夹反应 svg
- python - SARIMAX 残差
- html - 如何在句子中的单词上方水平居中注释?
- javascript - 如何使用 javascript/jquery 在第一个 json 元素处获取 json 数组中所有键的值
- android - ClassNotFoundException:使用 firebase 库时找不到类
- ldap - 减少返回的属性数量
- mongodb - MongoDB查询以检索包含数组中特定元素的所有行