diff --git a/test_issue_13471/fastapi b/test_issue_13471/fastapi new file mode 160000 index 000000000..27f424075 --- /dev/null +++ b/test_issue_13471/fastapi @@ -0,0 +1 @@ +Subproject commit 27f4240750eb5598aea4bc792c425efcd74a7393 diff --git a/test_issue_13471/form_dependency_test.py b/test_issue_13471/form_dependency_test.py new file mode 100644 index 000000000..2e6ea4c82 --- /dev/null +++ b/test_issue_13471/form_dependency_test.py @@ -0,0 +1,19 @@ +from fastapi import FastAPI, Form, Depends +from pydantic import BaseModel +from fastapi.responses import JSONResponse + +app = FastAPI() + +class User(BaseModel): + name: str + age: int + +def get_user( + name: str = Form(..., description="The user's name"), + age: int = Form(..., description="The user's age") +) -> User: + return User(name=name, age=age) + +@app.post("/submit") +def submit(user: User = Depends(get_user)): + return JSONResponse(content={"name": user.name, "age": user.age}) \ No newline at end of file diff --git a/test_issue_13471/form_metadata_repro.py b/test_issue_13471/form_metadata_repro.py new file mode 100644 index 000000000..2e6ea4c82 --- /dev/null +++ b/test_issue_13471/form_metadata_repro.py @@ -0,0 +1,19 @@ +from fastapi import FastAPI, Form, Depends +from pydantic import BaseModel +from fastapi.responses import JSONResponse + +app = FastAPI() + +class User(BaseModel): + name: str + age: int + +def get_user( + name: str = Form(..., description="The user's name"), + age: int = Form(..., description="The user's age") +) -> User: + return User(name=name, age=age) + +@app.post("/submit") +def submit(user: User = Depends(get_user)): + return JSONResponse(content={"name": user.name, "age": user.age}) \ No newline at end of file