【发布时间】:2021-05-22 04:24:28
【问题描述】:
我目前正在为 fastAPI 中的 API 编写一些端点。 我正在定义扩展 fastapi 的 HTTPException 的类。
问题在于 HTTPException 返回一个响应主体,其中包含一个名为 detail 的属性,该属性将是一个字符串或 json 结构,具体取决于您传递给它的对象,如下所示。
{
"detail": {
"msg": "error message here"
}
}
{ "detail": "error message here" }
我想覆盖此行为并让它以我自己的结构响应。
我知道我可以使用异常处理程序装饰器安装自定义异常并让它返回一个 JSONResponse 对象,但这不是我想要的。
【问题讨论】:
-
你可以简单地返回一个python dict。 FastAPI 会自动将其转换为 json。
-
@phyominh 是的,我知道这一点,但是我想走这条路的原因是在 api 中实现一种标准,所有错误都将是异常,可以引发和捕获
标签: python fastapi pydantic starlette