You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FastAPI中GET请求如何用嵌套Pydantic模型生成自动文档?

FastAPI GET请求中使用Pydantic模型的问题及尝试方案

在FastAPI中,当POST请求的输入为Pydantic模型时,自动生成的文档会包含该对象的Schema。但GET请求没有请求体,无法直接将Pydantic模型作为输入。

问题

Q1:能否为自动生成的文档使用Pydantic模型?

补充:可以,答案见Chris的相关回复

Q2:能否使用嵌套Pydantic对象(将字段扁平化)实现该需求?示例代码如下:

class AnotherBase(BaseModel):
    c: str
    d: str

class MyBase(BaseModel):
    a: str = Query()
    b: AnotherBase = Query()

@router.get("/myget")
def my_func(arg: MyBase = Depends()) -> MyBase:
    return MyBase(a="1", b="2")

尝试过的方案

  • 直接将Pydantic模型作为GET请求输入:因GET无请求体而失败
  • 使用Depends实现:部分参数被错误放入请求体中,触发FastAPI错误:TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body.
  • 参考Chris的方案:内部对象b: AnotherBase被错误放在不存在的请求体中

内容的提问来源于stack exchange,提问作者Guy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 21:52:08