Browse Source

Use `Dict`/`List`/`Type` instead of `dict`/`list`/`type` for py38

pull/13605/head
Matthew Batema 4 months ago
committed by Matthew Batema
parent
commit
bc9ad126ef
  1. 2
      fastapi/datastructures.py
  2. 8
      tests/test_request_uploadfile_type.py

2
fastapi/datastructures.py

@ -74,7 +74,7 @@ class UploadFile(StarletteUploadFile):
@classmethod @classmethod
def from_starlette( def from_starlette(
cls: type["UploadFile"], starlette_uploadfile: StarletteUploadFile cls: Type["UploadFile"], starlette_uploadfile: StarletteUploadFile
) -> "UploadFile": ) -> "UploadFile":
return cls( return cls(
file=starlette_uploadfile.file, file=starlette_uploadfile.file,

8
tests/test_request_uploadfile_type.py

@ -1,5 +1,5 @@
import io import io
from typing import Any from typing import Any, Dict, List
from fastapi import FastAPI, File, UploadFile from fastapi import FastAPI, File, UploadFile
from fastapi.testclient import TestClient from fastapi.testclient import TestClient
@ -9,7 +9,7 @@ app = FastAPI()
@app.post("/uploadfile") @app.post("/uploadfile")
async def uploadfile(uploadfile: UploadFile = File(...)) -> dict[str, Any]: async def uploadfile(uploadfile: UploadFile = File(...)) -> Dict[str, Any]:
return { return {
"filename": uploadfile.filename, "filename": uploadfile.filename,
"is_fastapi_uploadfile": isinstance(uploadfile, UploadFile), "is_fastapi_uploadfile": isinstance(uploadfile, UploadFile),
@ -20,8 +20,8 @@ async def uploadfile(uploadfile: UploadFile = File(...)) -> dict[str, Any]:
@app.post("/uploadfiles") @app.post("/uploadfiles")
async def uploadfiles( async def uploadfiles(
uploadfiles: list[UploadFile] = File(...), uploadfiles: List[UploadFile] = File(...),
) -> list[dict[str, Any]]: ) -> List[Dict[str, Any]]:
return [ return [
{ {
"filename": uploadfile.filename, "filename": uploadfile.filename,

Loading…
Cancel
Save