openapi - 如何在 OpenAPI 3.0 中指定可重用请求正文参数的架构
问题描述
swagger 文档站点显示了这种情况的示例,但它并没有一路显示Pet
模式的定义。
例如:
paths:
/pets:
post:
summary: Add a new pet
requestBody:
$ref: '#/components/requestBodies/PetBody'
/pets/{petId}
put:
summary: Update a pet
parameters: [ ... ]
requestBody:
$ref: '#/components/requestBodies/PetBody'
components:
requestBodies:
PetBody:
description: A JSON object containing pet information
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Pet'
我不明白在这种情况下请求正文参数名称的位置。我想看看 的定义#/components/schemas/Pet
。对于查询参数,您可以在其中为每个参数components/parameters
定义 aname
和 a 。schema
但我没有看到请求正文参数的等价物。例如,如果我有POST /api/pets
一个application/json
身体:
{ "name": "Fluffy", "type": "cat", "legs": 4 }
我在哪里描述参数name
,包括它们type
的legs
名字?
同样在一个不相关的主题上,如果有 OpenAPI v3.0 的标签会很好(不知道如何创建一个)
这里也可能有相关问题。
解决方案
在搜索了我认为我现在理解的招摇文档之后,我认为Pet
架构将是:
components:
schemas:
Pet:
type: object
properties:
name:
type: string
type:
type: string
legs:
type: integer
required:
- type
我错过了这个properties
属性。
推荐阅读
- c - 同时读取命名管道和未命名管道的问题
- go - 不使用另一个 var 无法索引数组
- python - 从对所有内容使用相同标签的网站中的 html 标签中提取价格
- reactjs - 你如何给material-ui抽屉组件一个可切换的主题?
- python - 是否可以在 Pandas 数据透视表中将整数转换为时间间隔?
- javascript - 无法在 React 中显示来自 SVGSVGElement 的 SVG
- spring-boot - 缺少 @PathVariable 返回 404 Not Found
- django - Django模型在两列/字段之间选择?
- reactjs - 如何使用 GO + REACT 在浏览器中保存 cookie?
- python - 在 vs 代码中安装了 pylint 扩展,但它没有识别错误