How to customize API validation error response in Flask

未关闭
#564 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
25/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
停滞
技术栈
flask, python
领域
api, backend

调研方向

Start with the Flask integration instructions linked in the issue and trace how incoming validation errors are turned into the generic response. Determine how an application could customize the response while accessing the status code, validation message, and title; done should include documented, working behavior for custom responses.

由索引模型根据 Issue 内容生成。

描述

area/documentation kind/bug kind/missing-implementation
Actual Behavior

Getting generic resposne on validation error

{
    "errors": [
        {
            "class": "<class 'openapi_core.validation.schemas.exceptions.InvalidSchemaValue'>",
            "status": 400,
            "title": "Value {'flag': 'testF'} not valid for schema of type object: (<ValidationError: \"'testF' is too short\">,)"
        }
    ]
}
Expected Behavior

We should be able to generate custom responses, and should be able to capture the validation error info e.g. status code, validation error message, and title

Steps to Reproduce

I set up a flask server and followed the instructions provided here

Currently openapi-core is validating the incoming requets properly, however the response generated is as follows

{
    "errors": [
        {
            "class": "<class 'openapi_core.validation.schemas.exceptions.InvalidSchemaValue'>",
            "status": 400,
            "title": "Value {'flag': 'testF'} not valid for schema of type object: (<ValidationError: \"'testF' is too short\">,)"
        }
    ]
}

I want to customize the response body as per my application,

I wanted to know if is there any provision using which we can provide custom responses.

or even if we somehow capture the validation error info e.g. status code, validation error message, and title then we can generate our own response with the available information.

Thanks in advance

OpenAPI Core Version

0.17.1

OpenAPI Core Integration

Flask

Affected Area(s)

No response

References

No response

Anything else we need to know?

No response

Would you like to implement a fix?

None

主要语言
Python
星标
368
派生
140
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

python-openapi/openapi-core 的其他 Issue

查看 python-openapi/openapi-core 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。