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"}
< /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
[/list]