Ich verwende Fastapi, um Backend für mein Projekt zu erstellen. Ich habe eine Methode, mit der eine Datei hochgeladen werden kann. Ich habe es wie folgt implementiert: < /p>
Code: Select all
from fastapi import APIRouter, UploadFile, File
from app.models.schemas.files import FileInResponse
router = APIRouter()
@router.post("", name="files:create-file", response_model=FileInResponse)
async def create(file: UploadFile = File(...)) -> FileInResponse:
pass
< /code>
Wie Sie sehen können, verwende ich ein dediziertes pydantisches Modell für ein Methodeergebnis -FileInResponse
:
Code: Select all
from pathlib import Path
from pydantic import BaseModel
class FileInResponse(BaseModel):
path: Path
und Ich folge diesem Namensmuster für Modelle (Benennung von Modellen als in der API in Erhöhen , Inresponse usw.). Ich konnte jedoch kein pydantisches Modell mit einem Feld der Type -Datei erstellen, daher musste ich es direkt in der Routendefinition deklarieren (d. H. Ohne ein Modell, das es enthält). Infolgedessen habe ich diesen langen auto generierten Namen body_files_create_file_api_files_post in den OpenAPI -Dokumenten: