FASTAPI-Fehler beim Zusammenführen von Datei zusammen mit Formdaten in einem pydantischen Modell definiertPython

Python-Programme
Anonymous
 FASTAPI-Fehler beim Zusammenführen von Datei zusammen mit Formdaten in einem pydantischen Modell definiert

Post by Anonymous »

Aus irgendeinem Grund handelt

Code: Select all

from typing import Annotated

from pydantic import BaseModel, StringConstraints, EmailStr

class RouteBody(BaseModel):
email: Annotated[EmailStr, StringConstraints(
max_length = 255
)]
password: Annotated[str, StringConstraints(
max_length = 60
)]
< /code>
Und dies erzwingt, dass der Körper der Route korrekt ist.from fastapi import UploadFile, File

@some_api_router.post("/some-route")
async def handleRoute(routeBody: RouteBody = Form(), profilePicture: UploadFile = File(...)):
return {"msg": "Route"}
Und ich teste es mit Swaggerui -Dokumenten:
< /p>
Ich erhalte den folgenden Fehler: < /p>

Code: Select all

error [{'type': 'model_attributes_type', 'loc': ('body', 'routeBody'), 'msg': 'Input should be a valid dictionary or object to extract fields from', 'input': '{"email":"user@example.com","password":"string"}'}]< /code> < /p>
[list]
[*] Sie haben es auf einer separaten Route ohne "Route Body" getestet und es hat perfekt funktioniert. < /li>
 Umgeschrieben Routenhandler von Grund auf neu. > Anstatt einen pydantischen Modelltyp für den RouteBody 
zu verwenden, habe ich mich für einzelne Parameter entschieden, um ihn funktional zu machen. Dies ist jedoch keine ideale Lösung, da alle Parameter aufgelistet werden müssen, wenn Sie viele davon haben.
[/list]

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post