diff --git a/tests/test_request_params/test_cookie/test_optional_str.py b/tests/test_request_params/test_cookie/test_optional_str.py index ad70bb2da..7298baacd 100644 --- a/tests/test_request_params/test_cookie/test_optional_str.py +++ b/tests/test_request_params/test_cookie/test_optional_str.py @@ -25,7 +25,7 @@ class CookieModelOptionalStr(BaseModel): @app.get("/model-optional-str") -async def read_model_optional_str(p: CookieModelOptionalStr = Cookie()): +async def read_model_optional_str(p: Annotated[CookieModelOptionalStr, Cookie()]): return {"p": p.p} @@ -97,7 +97,7 @@ class CookieModelOptionalAlias(BaseModel): @app.get("/model-optional-alias") -async def read_model_optional_alias(p: CookieModelOptionalAlias = Cookie()): +async def read_model_optional_alias(p: Annotated[CookieModelOptionalAlias, Cookie()]): return {"p": p.p} @@ -188,7 +188,7 @@ class CookieModelOptionalValidationAlias(BaseModel): @app.get("/model-optional-validation-alias") def read_model_optional_validation_alias( - p: CookieModelOptionalValidationAlias = Cookie(), + p: Annotated[CookieModelOptionalValidationAlias, Cookie()], ): return {"p": p.p} @@ -282,7 +282,7 @@ class CookieModelOptionalAliasAndValidationAlias(BaseModel): @app.get("/model-optional-alias-and-validation-alias") def read_model_optional_alias_and_validation_alias( - p: CookieModelOptionalAliasAndValidationAlias = Cookie(), + p: Annotated[CookieModelOptionalAliasAndValidationAlias, Cookie()], ): return {"p": p.p} diff --git a/tests/test_request_params/test_cookie/test_required_str.py b/tests/test_request_params/test_cookie/test_required_str.py index d3fe06555..9c1442ccb 100644 --- a/tests/test_request_params/test_cookie/test_required_str.py +++ b/tests/test_request_params/test_cookie/test_required_str.py @@ -24,7 +24,7 @@ class CookieModelRequiredStr(BaseModel): @app.get("/model-required-str") -async def read_model_required_str(p: CookieModelRequiredStr = Cookie()): +async def read_model_required_str(p: Annotated[CookieModelRequiredStr, Cookie()]): return {"p": p.p} @@ -102,7 +102,7 @@ class CookieModelRequiredAlias(BaseModel): @app.get("/model-required-alias") -async def read_model_required_alias(p: CookieModelRequiredAlias = Cookie()): +async def read_model_required_alias(p: Annotated[CookieModelRequiredAlias, Cookie()]): return {"p": p.p} # pragma: no cover @@ -239,7 +239,7 @@ class CookieModelRequiredValidationAlias(BaseModel): @app.get("/model-required-validation-alias") def read_model_required_validation_alias( - p: CookieModelRequiredValidationAlias = Cookie(), + p: Annotated[CookieModelRequiredValidationAlias, Cookie()], ): return {"p": p.p} @@ -361,7 +361,7 @@ class CookieModelRequiredAliasAndValidationAlias(BaseModel): @app.get("/model-required-alias-and-validation-alias") def read_model_required_alias_and_validation_alias( - p: CookieModelRequiredAliasAndValidationAlias = Cookie(), + p: Annotated[CookieModelRequiredAliasAndValidationAlias, Cookie()], ): return {"p": p.p} diff --git a/tests/test_request_params/test_file/test_list.py b/tests/test_request_params/test_file/test_list.py index 198c9fdbd..426b1f9ea 100644 --- a/tests/test_request_params/test_file/test_list.py +++ b/tests/test_request_params/test_file/test_list.py @@ -34,9 +34,12 @@ class FormModelListBytes(BaseModel): @app.post("/model-list-bytes", operation_id="model_list_bytes") async def read_model_list_bytes( - p: FormModelListBytes = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelListBytes, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [len(file) for file in p.p]} @@ -47,9 +50,12 @@ class FormModelListUploadFile(BaseModel): @app.post("/model-list-uploadfile", operation_id="model_list_uploadfile") async def read_model_list_uploadfile( - p: FormModelListUploadFile = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelListUploadFile, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [file.size for file in p.p]} @@ -173,9 +179,12 @@ class FormModelListBytesAlias(BaseModel): @app.post("/model-list-bytes-alias", operation_id="model_list_bytes_alias") async def read_model_list_bytes_alias( - p: FormModelListBytesAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelListBytesAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [len(file) for file in p.p]} @@ -186,9 +195,12 @@ class FormModelListUploadFileAlias(BaseModel): @app.post("/model-list-uploadfile-alias", operation_id="model_list_uploadfile_alias") async def read_model_list_uploadfile_alias( - p: FormModelListUploadFileAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelListUploadFileAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [file.size for file in p.p]} @@ -417,9 +429,12 @@ class FormModelRequiredBytesValidationAlias(BaseModel): operation_id="model_list_bytes_validation_alias", ) def read_model_list_bytes_validation_alias( - p: FormModelRequiredBytesValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelRequiredBytesValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [len(file) for file in p.p]} # pragma: no cover @@ -433,9 +448,12 @@ class FormModelRequiredUploadFileValidationAlias(BaseModel): operation_id="model_list_uploadfile_validation_alias", ) def read_model_list_uploadfile_validation_alias( - p: FormModelRequiredUploadFileValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelRequiredUploadFileValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [file.size for file in p.p]} # pragma: no cover @@ -615,9 +633,12 @@ class FormModelRequiredBytesAliasAndValidationAlias(BaseModel): operation_id="model_list_bytes_alias_and_validation_alias", ) def read_model_list_bytes_alias_and_validation_alias( - p: FormModelRequiredBytesAliasAndValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelRequiredBytesAliasAndValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [len(file) for file in p.p]} # pragma: no cover @@ -631,9 +652,12 @@ class FormModelRequiredUploadFileAliasAndValidationAlias(BaseModel): operation_id="model_list_uploadfile_alias_and_validation_alias", ) def read_model_list_uploadfile_alias_and_validation_alias( - p: FormModelRequiredUploadFileAliasAndValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelRequiredUploadFileAliasAndValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [file.size for file in p.p]} # pragma: no cover diff --git a/tests/test_request_params/test_file/test_optional.py b/tests/test_request_params/test_file/test_optional.py index 9045dbb29..0e584145b 100644 --- a/tests/test_request_params/test_file/test_optional.py +++ b/tests/test_request_params/test_file/test_optional.py @@ -34,9 +34,12 @@ class FormModelOptionalBytes(BaseModel): @app.post("/model-optional-bytes", operation_id="model_optional_bytes") async def read_model_optional_bytes( - p: FormModelOptionalBytes = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalBytes, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": len(p.p) if p.p else None} @@ -47,9 +50,12 @@ class FormModelOptionalUploadFile(BaseModel): @app.post("/model-optional-uploadfile", operation_id="model_optional_uploadfile") async def read_model_optional_uploadfile( - p: FormModelOptionalUploadFile = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalUploadFile, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": p.p.size if p.p else None} @@ -146,9 +152,12 @@ class FormModelOptionalBytesAlias(BaseModel): @app.post("/model-optional-bytes-alias", operation_id="model_optional_bytes_alias") async def read_model_optional_bytes_alias( - p: FormModelOptionalBytesAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalBytesAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": len(p.p) if p.p else None} @@ -161,9 +170,12 @@ class FormModelOptionalUploadFileAlias(BaseModel): "/model-optional-uploadfile-alias", operation_id="model_optional_uploadfile_alias" ) async def read_model_optional_uploadfile_alias( - p: FormModelOptionalUploadFileAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalUploadFileAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": p.p.size if p.p else None} @@ -322,9 +334,12 @@ class FormModelOptionalBytesValidationAlias(BaseModel): operation_id="model_optional_bytes_validation_alias", ) def read_model_optional_bytes_validation_alias( - p: FormModelOptionalBytesValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalBytesValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": len(p.p) if p.p else None} @@ -338,9 +353,12 @@ class FormModelOptionalUploadFileValidationAlias(BaseModel): operation_id="model_optional_uploadfile_validation_alias", ) def read_model_optional_uploadfile_validation_alias( - p: FormModelOptionalUploadFileValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalUploadFileValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": p.p.size if p.p else None} @@ -491,9 +509,12 @@ class FormModelOptionalBytesAliasAndValidationAlias(BaseModel): operation_id="model_optional_bytes_alias_and_validation_alias", ) def read_model_optional_bytes_alias_and_validation_alias( - p: FormModelOptionalBytesAliasAndValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalBytesAliasAndValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": len(p.p) if p.p else None} @@ -509,9 +530,12 @@ class FormModelOptionalUploadFileAliasAndValidationAlias(BaseModel): operation_id="model_optional_uploadfile_alias_and_validation_alias", ) def read_model_optional_uploadfile_alias_and_validation_alias( - p: FormModelOptionalUploadFileAliasAndValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalUploadFileAliasAndValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": p.p.size if p.p else None} diff --git a/tests/test_request_params/test_file/test_optional_list.py b/tests/test_request_params/test_file/test_optional_list.py index 6525caaec..13bc55e9f 100644 --- a/tests/test_request_params/test_file/test_optional_list.py +++ b/tests/test_request_params/test_file/test_optional_list.py @@ -36,9 +36,12 @@ class FormModelOptionalListBytes(BaseModel): @app.post("/model-optional-list-bytes") async def read_model_optional_list_bytes( - p: FormModelOptionalListBytes = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalListBytes, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [len(file) for file in p.p] if p.p else None} @@ -49,9 +52,12 @@ class FormModelOptionalListUploadFile(BaseModel): @app.post("/model-optional-list-uploadfile") async def read_model_optional_list_uploadfile( - p: FormModelOptionalListUploadFile = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalListUploadFile, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [file.size for file in p.p] if p.p else None} @@ -171,9 +177,12 @@ class FormModelOptionalListBytesAlias(BaseModel): @app.post("/model-optional-list-bytes-alias") async def read_model_optional_list_bytes_alias( - p: FormModelOptionalListBytesAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalListBytesAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [len(file) for file in p.p] if p.p else None} @@ -184,9 +193,12 @@ class FormModelOptionalListUploadFileAlias(BaseModel): @app.post("/model-optional-list-uploadfile-alias") async def read_model_optional_list_uploadfile_alias( - p: FormModelOptionalListUploadFileAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalListUploadFileAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [file.size for file in p.p] if p.p else None} @@ -358,9 +370,12 @@ class FormModelOptionalListBytesValidationAlias(BaseModel): @app.post("/model-optional-list-bytes-validation-alias") def read_model_optional_list_bytes_validation_alias( - p: FormModelOptionalListBytesValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalListBytesValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [len(file) for file in p.p] if p.p else None} @@ -371,9 +386,12 @@ class FormModelOptionalListUploadFileValidationAlias(BaseModel): @app.post("/model-optional-list-uploadfile-validation-alias") def read_model_optional_list_uploadfile_validation_alias( - p: FormModelOptionalListUploadFileValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalListUploadFileValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [file.size for file in p.p] if p.p else None} @@ -530,9 +548,12 @@ class FormModelOptionalListBytesAliasAndValidationAlias(BaseModel): @app.post("/model-optional-list-bytes-alias-and-validation-alias") def read_model_optional_list_bytes_alias_and_validation_alias( - p: FormModelOptionalListBytesAliasAndValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalListBytesAliasAndValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [len(file) for file in p.p] if p.p else None} @@ -545,9 +566,12 @@ class FormModelOptionalListUploadFileAliasAndValidationAlias(BaseModel): @app.post("/model-optional-list-uploadfile-alias-and-validation-alias") def read_model_optional_list_uploadfile_alias_and_validation_alias( - p: FormModelOptionalListUploadFileAliasAndValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelOptionalListUploadFileAliasAndValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": [file.size for file in p.p] if p.p else None} diff --git a/tests/test_request_params/test_file/test_required.py b/tests/test_request_params/test_file/test_required.py index 23bbdd4cf..580bb9cd4 100644 --- a/tests/test_request_params/test_file/test_required.py +++ b/tests/test_request_params/test_file/test_required.py @@ -32,9 +32,12 @@ class FormModelRequiredBytes(BaseModel): @app.post("/model-required-bytes", operation_id="model_required_bytes") async def read_model_required_bytes( - p: FormModelRequiredBytes = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelRequiredBytes, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": len(p.p)} @@ -45,9 +48,12 @@ class FormModelRequiredUploadFile(BaseModel): @app.post("/model-required-uploadfile", operation_id="model_required_uploadfile") async def read_model_required_uploadfile( - p: FormModelRequiredUploadFile = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelRequiredUploadFile, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": p.p.size} @@ -151,9 +157,12 @@ class FormModelRequiredBytesAlias(BaseModel): @app.post("/model-required-bytes-alias", operation_id="model_required_bytes_alias") async def read_model_required_bytes_alias( - p: FormModelRequiredBytesAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelRequiredBytesAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": len(p.p)} @@ -166,9 +175,12 @@ class FormModelRequiredUploadFileAlias(BaseModel): "/model-required-uploadfile-alias", operation_id="model_required_uploadfile_alias" ) async def read_model_required_uploadfile_alias( - p: FormModelRequiredUploadFileAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelRequiredUploadFileAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": p.p.size} @@ -380,9 +392,12 @@ class FormModelRequiredBytesValidationAlias(BaseModel): operation_id="model_required_bytes_validation_alias", ) def read_model_required_bytes_validation_alias( - p: FormModelRequiredBytesValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelRequiredBytesValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": len(p.p)} # pragma: no cover @@ -396,9 +411,12 @@ class FormModelRequiredUploadFileValidationAlias(BaseModel): operation_id="model_required_uploadfile_validation_alias", ) def read_model_required_uploadfile_validation_alias( - p: FormModelRequiredUploadFileValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelRequiredUploadFileValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": p.p.size} @@ -567,9 +585,12 @@ class FormModelRequiredBytesAliasAndValidationAlias(BaseModel): operation_id="model_required_bytes_alias_and_validation_alias", ) def read_model_required_bytes_alias_and_validation_alias( - p: FormModelRequiredBytesAliasAndValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelRequiredBytesAliasAndValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": len(p.p)} # pragma: no cover @@ -583,9 +604,12 @@ class FormModelRequiredUploadFileAliasAndValidationAlias(BaseModel): operation_id="model_required_uploadfile_alias_and_validation_alias", ) def read_model_required_uploadfile_alias_and_validation_alias( - p: FormModelRequiredUploadFileAliasAndValidationAlias = Form( - media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed - ), + p: Annotated[ + FormModelRequiredUploadFileAliasAndValidationAlias, + Form( + media_type="multipart/form-data" # Remove media_type when https://github.com/fastapi/fastapi/pull/14343 is fixed + ), + ], ): return {"file_size": p.p.size} diff --git a/tests/test_request_params/test_form/test_list.py b/tests/test_request_params/test_form/test_list.py index 16c2a14ad..c57180f6a 100644 --- a/tests/test_request_params/test_form/test_list.py +++ b/tests/test_request_params/test_form/test_list.py @@ -28,7 +28,7 @@ class FormModelRequiredListStr(BaseModel): @app.post("/model-required-list-str", operation_id="model_required_list_str") -def read_model_required_list_str(p: FormModelRequiredListStr = Form()): +def read_model_required_list_str(p: Annotated[FormModelRequiredListStr, Form()]): return {"p": p.p} @@ -111,7 +111,9 @@ class FormModelRequiredListAlias(BaseModel): @app.post("/model-required-list-alias", operation_id="model_required_list_alias") -async def read_model_required_list_alias(p: FormModelRequiredListAlias = Form()): +async def read_model_required_list_alias( + p: Annotated[FormModelRequiredListAlias, Form()], +): return {"p": p.p} # pragma: no cover @@ -260,7 +262,7 @@ class FormModelRequiredListValidationAlias(BaseModel): operation_id="model_required_list_validation_alias", ) async def read_model_required_list_validation_alias( - p: FormModelRequiredListValidationAlias = Form(), + p: Annotated[FormModelRequiredListValidationAlias, Form()], ): return {"p": p.p} # pragma: no cover @@ -385,7 +387,7 @@ class FormModelRequiredListAliasAndValidationAlias(BaseModel): operation_id="model_required_list_alias_and_validation_alias", ) def read_model_required_list_alias_and_validation_alias( - p: FormModelRequiredListAliasAndValidationAlias = Form(), + p: Annotated[FormModelRequiredListAliasAndValidationAlias, Form()], ): return {"p": p.p} # pragma: no cover diff --git a/tests/test_request_params/test_form/test_optional_list.py b/tests/test_request_params/test_form/test_optional_list.py index fd09fe4fd..288a0cfe4 100644 --- a/tests/test_request_params/test_form/test_optional_list.py +++ b/tests/test_request_params/test_form/test_optional_list.py @@ -30,7 +30,7 @@ class FormModelOptionalListStr(BaseModel): @app.post("/model-optional-list-str", operation_id="model_optional_list_str") -async def read_model_optional_list_str(p: FormModelOptionalListStr = Form()): +async def read_model_optional_list_str(p: Annotated[FormModelOptionalListStr, Form()]): return {"p": p.p} @@ -106,7 +106,9 @@ class FormModelOptionalListAlias(BaseModel): @app.post("/model-optional-list-alias", operation_id="model_optional_list_alias") -async def read_model_optional_list_alias(p: FormModelOptionalListAlias = Form()): +async def read_model_optional_list_alias( + p: Annotated[FormModelOptionalListAlias, Form()], +): return {"p": p.p} @@ -214,7 +216,7 @@ class FormModelOptionalListValidationAlias(BaseModel): operation_id="model_optional_list_validation_alias", ) def read_model_optional_list_validation_alias( - p: FormModelOptionalListValidationAlias = Form(), + p: Annotated[FormModelOptionalListValidationAlias, Form()], ): return {"p": p.p} @@ -332,7 +334,7 @@ class FormModelOptionalListAliasAndValidationAlias(BaseModel): operation_id="model_optional_list_alias_and_validation_alias", ) def read_model_optional_list_alias_and_validation_alias( - p: FormModelOptionalListAliasAndValidationAlias = Form(), + p: Annotated[FormModelOptionalListAliasAndValidationAlias, Form()], ): return {"p": p.p} diff --git a/tests/test_request_params/test_form/test_optional_str.py b/tests/test_request_params/test_form/test_optional_str.py index 16dd8983d..66c003a95 100644 --- a/tests/test_request_params/test_form/test_optional_str.py +++ b/tests/test_request_params/test_form/test_optional_str.py @@ -28,7 +28,7 @@ class FormModelOptionalStr(BaseModel): @app.post("/model-optional-str", operation_id="model_optional_str") -async def read_model_optional_str(p: FormModelOptionalStr = Form()): +async def read_model_optional_str(p: Annotated[FormModelOptionalStr, Form()]): return {"p": p.p} @@ -101,7 +101,7 @@ class FormModelOptionalAlias(BaseModel): @app.post("/model-optional-alias", operation_id="model_optional_alias") -async def read_model_optional_alias(p: FormModelOptionalAlias = Form()): +async def read_model_optional_alias(p: Annotated[FormModelOptionalAlias, Form()]): return {"p": p.p} @@ -199,7 +199,7 @@ class FormModelOptionalValidationAlias(BaseModel): "/model-optional-validation-alias", operation_id="model_optional_validation_alias" ) def read_model_optional_validation_alias( - p: FormModelOptionalValidationAlias = Form(), + p: Annotated[FormModelOptionalValidationAlias, Form()], ): return {"p": p.p} @@ -309,7 +309,7 @@ class FormModelOptionalAliasAndValidationAlias(BaseModel): operation_id="model_optional_alias_and_validation_alias", ) def read_model_optional_alias_and_validation_alias( - p: FormModelOptionalAliasAndValidationAlias = Form(), + p: Annotated[FormModelOptionalAliasAndValidationAlias, Form()], ): return {"p": p.p} diff --git a/tests/test_request_params/test_form/test_required_str.py b/tests/test_request_params/test_form/test_required_str.py index 973243ae1..fcbce015d 100644 --- a/tests/test_request_params/test_form/test_required_str.py +++ b/tests/test_request_params/test_form/test_required_str.py @@ -26,7 +26,7 @@ class FormModelRequiredStr(BaseModel): @app.post("/model-required-str", operation_id="model_required_str") -async def read_model_required_str(p: FormModelRequiredStr = Form()): +async def read_model_required_str(p: Annotated[FormModelRequiredStr, Form()]): return {"p": p.p} @@ -106,7 +106,7 @@ class FormModelRequiredAlias(BaseModel): @app.post("/model-required-alias", operation_id="model_required_alias") -async def read_model_required_alias(p: FormModelRequiredAlias = Form()): +async def read_model_required_alias(p: Annotated[FormModelRequiredAlias, Form()]): return {"p": p.p} @@ -235,7 +235,7 @@ class FormModelRequiredValidationAlias(BaseModel): "/model-required-validation-alias", operation_id="model_required_validation_alias" ) def read_model_required_validation_alias( - p: FormModelRequiredValidationAlias = Form(), + p: Annotated[FormModelRequiredValidationAlias, Form()], ): return {"p": p.p} @@ -363,7 +363,7 @@ class FormModelRequiredAliasAndValidationAlias(BaseModel): operation_id="model_required_alias_and_validation_alias", ) def read_model_required_alias_and_validation_alias( - p: FormModelRequiredAliasAndValidationAlias = Form(), + p: Annotated[FormModelRequiredAliasAndValidationAlias, Form()], ): return {"p": p.p} diff --git a/tests/test_request_params/test_header/test_list.py b/tests/test_request_params/test_header/test_list.py index b05783641..1bd3628b8 100644 --- a/tests/test_request_params/test_header/test_list.py +++ b/tests/test_request_params/test_header/test_list.py @@ -26,7 +26,7 @@ class HeaderModelRequiredListStr(BaseModel): @app.get("/model-required-list-str") -def read_model_required_list_str(p: HeaderModelRequiredListStr = Header()): +def read_model_required_list_str(p: Annotated[HeaderModelRequiredListStr, Header()]): return {"p": p.p} @@ -106,7 +106,9 @@ class HeaderModelRequiredListAlias(BaseModel): @app.get("/model-required-list-alias") -async def read_model_required_list_alias(p: HeaderModelRequiredListAlias = Header()): +async def read_model_required_list_alias( + p: Annotated[HeaderModelRequiredListAlias, Header()], +): return {"p": p.p} # pragma: no cover @@ -244,7 +246,7 @@ class HeaderModelRequiredListValidationAlias(BaseModel): @app.get("/model-required-list-validation-alias") async def read_model_required_list_validation_alias( - p: HeaderModelRequiredListValidationAlias = Header(), + p: Annotated[HeaderModelRequiredListValidationAlias, Header()], ): return {"p": p.p} # pragma: no cover @@ -361,7 +363,7 @@ class HeaderModelRequiredListAliasAndValidationAlias(BaseModel): @app.get("/model-required-list-alias-and-validation-alias") def read_model_required_list_alias_and_validation_alias( - p: HeaderModelRequiredListAliasAndValidationAlias = Header(), + p: Annotated[HeaderModelRequiredListAliasAndValidationAlias, Header()], ): return {"p": p.p} # pragma: no cover diff --git a/tests/test_request_params/test_header/test_optional_list.py b/tests/test_request_params/test_header/test_optional_list.py index 1c4c2e508..328f039ba 100644 --- a/tests/test_request_params/test_header/test_optional_list.py +++ b/tests/test_request_params/test_header/test_optional_list.py @@ -27,7 +27,9 @@ class HeaderModelOptionalListStr(BaseModel): @app.get("/model-optional-list-str") -async def read_model_optional_list_str(p: HeaderModelOptionalListStr = Header()): +async def read_model_optional_list_str( + p: Annotated[HeaderModelOptionalListStr, Header()], +): return {"p": p.p} @@ -101,7 +103,9 @@ class HeaderModelOptionalListAlias(BaseModel): @app.get("/model-optional-list-alias") -async def read_model_optional_list_alias(p: HeaderModelOptionalListAlias = Header()): +async def read_model_optional_list_alias( + p: Annotated[HeaderModelOptionalListAlias, Header()], +): return {"p": p.p} @@ -199,7 +203,7 @@ class HeaderModelOptionalListValidationAlias(BaseModel): @app.get("/model-optional-list-validation-alias") def read_model_optional_list_validation_alias( - p: HeaderModelOptionalListValidationAlias = Header(), + p: Annotated[HeaderModelOptionalListValidationAlias, Header()], ): return {"p": p.p} @@ -297,7 +301,7 @@ class HeaderModelOptionalListAliasAndValidationAlias(BaseModel): @app.get("/model-optional-list-alias-and-validation-alias") def read_model_optional_list_alias_and_validation_alias( - p: HeaderModelOptionalListAliasAndValidationAlias = Header(), + p: Annotated[HeaderModelOptionalListAliasAndValidationAlias, Header()], ): return {"p": p.p} diff --git a/tests/test_request_params/test_header/test_optional_str.py b/tests/test_request_params/test_header/test_optional_str.py index 2fb5b1316..d63e0a2b8 100644 --- a/tests/test_request_params/test_header/test_optional_str.py +++ b/tests/test_request_params/test_header/test_optional_str.py @@ -25,7 +25,7 @@ class HeaderModelOptionalStr(BaseModel): @app.get("/model-optional-str") -async def read_model_optional_str(p: HeaderModelOptionalStr = Header()): +async def read_model_optional_str(p: Annotated[HeaderModelOptionalStr, Header()]): return {"p": p.p} @@ -96,7 +96,7 @@ class HeaderModelOptionalAlias(BaseModel): @app.get("/model-optional-alias") -async def read_model_optional_alias(p: HeaderModelOptionalAlias = Header()): +async def read_model_optional_alias(p: Annotated[HeaderModelOptionalAlias, Header()]): return {"p": p.p} @@ -185,7 +185,7 @@ class HeaderModelOptionalValidationAlias(BaseModel): @app.get("/model-optional-validation-alias") def read_model_optional_validation_alias( - p: HeaderModelOptionalValidationAlias = Header(), + p: Annotated[HeaderModelOptionalValidationAlias, Header()], ): return {"p": p.p} @@ -277,7 +277,7 @@ class HeaderModelOptionalAliasAndValidationAlias(BaseModel): @app.get("/model-optional-alias-and-validation-alias") def read_model_optional_alias_and_validation_alias( - p: HeaderModelOptionalAliasAndValidationAlias = Header(), + p: Annotated[HeaderModelOptionalAliasAndValidationAlias, Header()], ): return {"p": p.p} diff --git a/tests/test_request_params/test_header/test_required_str.py b/tests/test_request_params/test_header/test_required_str.py index 5e37c2aec..6eb4fd6f6 100644 --- a/tests/test_request_params/test_header/test_required_str.py +++ b/tests/test_request_params/test_header/test_required_str.py @@ -24,7 +24,7 @@ class HeaderModelRequiredStr(BaseModel): @app.get("/model-required-str") -async def read_model_required_str(p: HeaderModelRequiredStr = Header()): +async def read_model_required_str(p: Annotated[HeaderModelRequiredStr, Header()]): return {"p": p.p} @@ -101,7 +101,7 @@ class HeaderModelRequiredAlias(BaseModel): @app.get("/model-required-alias") -async def read_model_required_alias(p: HeaderModelRequiredAlias = Header()): +async def read_model_required_alias(p: Annotated[HeaderModelRequiredAlias, Header()]): return {"p": p.p} # pragma: no cover @@ -233,7 +233,7 @@ class HeaderModelRequiredValidationAlias(BaseModel): @app.get("/model-required-validation-alias") def read_model_required_validation_alias( - p: HeaderModelRequiredValidationAlias = Header(), + p: Annotated[HeaderModelRequiredValidationAlias, Header()], ): return {"p": p.p} @@ -353,7 +353,7 @@ class HeaderModelRequiredAliasAndValidationAlias(BaseModel): @app.get("/model-required-alias-and-validation-alias") def read_model_required_alias_and_validation_alias( - p: HeaderModelRequiredAliasAndValidationAlias = Header(), + p: Annotated[HeaderModelRequiredAliasAndValidationAlias, Header()], ): return {"p": p.p} diff --git a/tests/test_request_params/test_query/test_list.py b/tests/test_request_params/test_query/test_list.py index dca78d64c..4edd192e0 100644 --- a/tests/test_request_params/test_query/test_list.py +++ b/tests/test_request_params/test_query/test_list.py @@ -26,7 +26,7 @@ class QueryModelRequiredListStr(BaseModel): @app.get("/model-required-list-str") -def read_model_required_list_str(p: QueryModelRequiredListStr = Query()): +def read_model_required_list_str(p: Annotated[QueryModelRequiredListStr, Query()]): return {"p": p.p} @@ -106,7 +106,9 @@ class QueryModelRequiredListAlias(BaseModel): @app.get("/model-required-list-alias") -async def read_model_required_list_alias(p: QueryModelRequiredListAlias = Query()): +async def read_model_required_list_alias( + p: Annotated[QueryModelRequiredListAlias, Query()], +): return {"p": p.p} # pragma: no cover @@ -244,7 +246,7 @@ class QueryModelRequiredListValidationAlias(BaseModel): @app.get("/model-required-list-validation-alias") async def read_model_required_list_validation_alias( - p: QueryModelRequiredListValidationAlias = Query(), + p: Annotated[QueryModelRequiredListValidationAlias, Query()], ): return {"p": p.p} # pragma: no cover @@ -359,7 +361,7 @@ class QueryModelRequiredListAliasAndValidationAlias(BaseModel): @app.get("/model-required-list-alias-and-validation-alias") def read_model_required_list_alias_and_validation_alias( - p: QueryModelRequiredListAliasAndValidationAlias = Query(), + p: Annotated[QueryModelRequiredListAliasAndValidationAlias, Query()], ): return {"p": p.p} # pragma: no cover diff --git a/tests/test_request_params/test_query/test_optional_list.py b/tests/test_request_params/test_query/test_optional_list.py index 0e8613349..76f960554 100644 --- a/tests/test_request_params/test_query/test_optional_list.py +++ b/tests/test_request_params/test_query/test_optional_list.py @@ -27,7 +27,9 @@ class QueryModelOptionalListStr(BaseModel): @app.get("/model-optional-list-str") -async def read_model_optional_list_str(p: QueryModelOptionalListStr = Query()): +async def read_model_optional_list_str( + p: Annotated[QueryModelOptionalListStr, Query()], +): return {"p": p.p} @@ -101,7 +103,9 @@ class QueryModelOptionalListAlias(BaseModel): @app.get("/model-optional-list-alias") -async def read_model_optional_list_alias(p: QueryModelOptionalListAlias = Query()): +async def read_model_optional_list_alias( + p: Annotated[QueryModelOptionalListAlias, Query()], +): return {"p": p.p} @@ -199,7 +203,7 @@ class QueryModelOptionalListValidationAlias(BaseModel): @app.get("/model-optional-list-validation-alias") def read_model_optional_list_validation_alias( - p: QueryModelOptionalListValidationAlias = Query(), + p: Annotated[QueryModelOptionalListValidationAlias, Query()], ): return {"p": p.p} @@ -295,7 +299,7 @@ class QueryModelOptionalListAliasAndValidationAlias(BaseModel): @app.get("/model-optional-list-alias-and-validation-alias") def read_model_optional_list_alias_and_validation_alias( - p: QueryModelOptionalListAliasAndValidationAlias = Query(), + p: Annotated[QueryModelOptionalListAliasAndValidationAlias, Query()], ): return {"p": p.p} diff --git a/tests/test_request_params/test_query/test_optional_str.py b/tests/test_request_params/test_query/test_optional_str.py index af47117a8..77da9bee6 100644 --- a/tests/test_request_params/test_query/test_optional_str.py +++ b/tests/test_request_params/test_query/test_optional_str.py @@ -25,7 +25,7 @@ class QueryModelOptionalStr(BaseModel): @app.get("/model-optional-str") -async def read_model_optional_str(p: QueryModelOptionalStr = Query()): +async def read_model_optional_str(p: Annotated[QueryModelOptionalStr, Query()]): return {"p": p.p} @@ -96,7 +96,7 @@ class QueryModelOptionalAlias(BaseModel): @app.get("/model-optional-alias") -async def read_model_optional_alias(p: QueryModelOptionalAlias = Query()): +async def read_model_optional_alias(p: Annotated[QueryModelOptionalAlias, Query()]): return {"p": p.p} @@ -185,7 +185,7 @@ class QueryModelOptionalValidationAlias(BaseModel): @app.get("/model-optional-validation-alias") def read_model_optional_validation_alias( - p: QueryModelOptionalValidationAlias = Query(), + p: Annotated[QueryModelOptionalValidationAlias, Query()], ): return {"p": p.p} @@ -277,7 +277,7 @@ class QueryModelOptionalAliasAndValidationAlias(BaseModel): @app.get("/model-optional-alias-and-validation-alias") def read_model_optional_alias_and_validation_alias( - p: QueryModelOptionalAliasAndValidationAlias = Query(), + p: Annotated[QueryModelOptionalAliasAndValidationAlias, Query()], ): return {"p": p.p} diff --git a/tests/test_request_params/test_query/test_required_str.py b/tests/test_request_params/test_query/test_required_str.py index 35fbd4324..aa3a27683 100644 --- a/tests/test_request_params/test_query/test_required_str.py +++ b/tests/test_request_params/test_query/test_required_str.py @@ -24,7 +24,7 @@ class QueryModelRequiredStr(BaseModel): @app.get("/model-required-str") -async def read_model_required_str(p: QueryModelRequiredStr = Query()): +async def read_model_required_str(p: Annotated[QueryModelRequiredStr, Query()]): return {"p": p.p} @@ -101,7 +101,7 @@ class QueryModelRequiredAlias(BaseModel): @app.get("/model-required-alias") -async def read_model_required_alias(p: QueryModelRequiredAlias = Query()): +async def read_model_required_alias(p: Annotated[QueryModelRequiredAlias, Query()]): return {"p": p.p} # pragma: no cover @@ -236,7 +236,7 @@ class QueryModelRequiredValidationAlias(BaseModel): @app.get("/model-required-validation-alias") def read_model_required_validation_alias( - p: QueryModelRequiredValidationAlias = Query(), + p: Annotated[QueryModelRequiredValidationAlias, Query()], ): return {"p": p.p} @@ -356,7 +356,7 @@ class QueryModelRequiredAliasAndValidationAlias(BaseModel): @app.get("/model-required-alias-and-validation-alias") def read_model_required_alias_and_validation_alias( - p: QueryModelRequiredAliasAndValidationAlias = Query(), + p: Annotated[QueryModelRequiredAliasAndValidationAlias, Query()], ): return {"p": p.p}