小编Ale*_*ed'的帖子

Pydantic 参数验证与文件上传

我正在尝试使用文件上传用户数据。我想做这样的事情,验证用户数据并附加文件

class User(BaseModel):
    user: str
    name: str

@router.post("/upload")
async def create_upload_file(data: User, file: UploadFile = File(...)):
    print(data)
    return {"filename": file.filename}
Run Code Online (Sandbox Code Playgroud)

但它不起作用错误:无法处理的实体响应正文:

{
  "detail": [
    {
      "loc": [
        "body",
        "data"
      ],
      "msg": "value is not a valid dict",
      "type": "type_error.dict"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

但如果我将 url 全部工作分开:

class User(BaseModel):
    user: str
    name: str

@router.post("/d")
async def create(file: UploadFile = File(...)):
    return {"filename": file.filename}

@router.post("/")
def main(user: User):
    return user
Run Code Online (Sandbox Code Playgroud)

如何将所有内容结合在一起?

python pydantic fastapi

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

fastapi ×1

pydantic ×1

python ×1