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

FastAPI中Pydantic模型无法识别属性、Swagger文档请求体为空问题

问题原因

你定义Pydantic模型字段时使用了错误写法,直接将字段赋值为类型本身,而非Python标准的类型标注语法:

  • 错误写法email = str的作用是将email设为类的普通属性,值为str类对象,Pydantic不会将其识别为模型字段,自然不会纳入schema生成逻辑
  • 正确的字段定义需要用冒号做类型标注:email: str,只有这种写法才会被Pydantic扫描识别为模型字段

修复方法

修改schemas.py文件中的模型字段定义,将所有赋值为类型的写法替换为类型标注即可:

import pydantic as _pydantic
import datetime as _dt

class _UserBase(_pydantic.BaseModel):
    email: str


class UserCreate(_UserBase):
    hashed_password: str

    class Config:
        orm_mode = True

修复后重启服务,接口会返回包含email、hashed_password字段的完整schema,Swagger文档也会正常显示对应的请求体结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:00:01