我正在尝试为我的单端点 API 提供 Swagger/Open Api 文档。
我的单一端点看起来像
帖子正文决定逻辑路径和响应模式
Body1: {"jsonClass": "AnimalsRankedByLifeSpan"}
Response1: schema-1
Body2: {"jsonClass": "AnimalsInRegion", "region":"Africa", "type":"lions"}
Response2: schema-2
文档的期望:每个 jsonClass 都被列为 swagger(或任何其他)中的单独调用,我可以使用规范来获取所有受支持的 jsonClass。
看起来不像,swagger支持这种设计。如果是的话,请给我举一些例子。
是否有任何其他 Api 文档框架可以用来为支持的每种 jsonClass 提供请求-响应文档?
OpenAPI 2.0 和 3.0 无法在同一操作中将不同的请求模式映射到不同的响应模式。这是相应的功能请求:支持每个路径有多个规范的操作(例如每个路径有多个 POST 操作)
目前,如果您使用 OpenAPI 3.0,则可oneOf以为请求和响应定义多个可能的架构。但是,您无法定义Body1产生schema-1响应并Body2产生schema-2响应。您只能在操作中口头记录这一点description。
openapi: 3.0.0
...
paths:
/foo:
post:
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Body1'
- $ref: '#/components/schemas/Body2'
responses:
'200':
description: OK
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/schema-1'
- $ref: '#/components/schemas/schema-2'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6064 次 |
| 最近记录: |