oneOf with discriminator on path
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- openapi, python
调研方向
Start with the minimal OpenAPI example in the issue and review how discriminator validation is handled for request bodies and path parameters. Check the project's validation entry points and tests for oneOf and discriminator behavior; done should clarify or implement the expected relationship between the path item_type and the selected schema.
由索引模型根据 Issue 内容生成。
描述
As all different types of request bodies should be processed by the same function, I was hoping to do something the following minimal example:
/api/{item_type}:
post:
parameters:
- in: path
name: item_type
required: true
schema:
type: string
requestBody:
$ref: '#/components/requestBodies/object'
required: true
responses:
'201':
description: Item created
components:
requestBodies:
object:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Movie'
- $ref: '#/components/schemas/Program'
discriminator:
propertyName: item_type
schemas:
Movie:
type: object
Program:
type: object
Essentially, I want one function, to parse all item_types, but still ensure validation based on item_type in the path. However, I can create a Movie with the properties of Program.
Is this not the intended use? Or is there no discriminator validation on parameters specified in the path?
Thanks in advance.
- 主要语言
- Python
- 星标
- 409
- 派生
- 73
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
python-openapi/openapi-spec-validator 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 55/100
-
难度 3/5 1-2 天 新手友好度 55/100
-
难度 3/5 1-2 天 新手友好度 30/100
-
难度 4/5 3-5 天 新手友好度 42/100
python-openapi/openapi-spec-validator#400 · 1 条评论 ·
-
kind/bug/confirmed
难度 5/5 一周以上 新手友好度 25/100
python-openapi/openapi-spec-validator#373 · 1 条评论 ·
查看 python-openapi/openapi-spec-validator 的全部 Issue
相似的 Issue
-
enhancement
难度 2/5 1-3 小时 新手友好度 70/100
canonical/paas-charm#368 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
-
tech debt
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 1/5 1 小时以内 新手友好度 90/100
StevenBlack/hosts#3256 ·
-
难度 1/5 1 小时以内 新手友好度 90/100
qualcomm/qai-appbuilder#275 ·