From: Michael Adkins Date: Thu, 12 May 2022 16:16:16 +0000 (-0500) Subject: 📝 Add documentation for redefined path operations (#4864) X-Git-Tag: 0.78.0~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=199916ac8cac7eff1348a91aa19ae0995ad703db;p=thirdparty%2Ffastapi%2Ffastapi.git 📝 Add documentation for redefined path operations (#4864) Co-authored-by: Sebastián Ramírez --- diff --git a/docs/en/docs/tutorial/path-params.md b/docs/en/docs/tutorial/path-params.md index 9c458844d3..a0d70692e5 100644 --- a/docs/en/docs/tutorial/path-params.md +++ b/docs/en/docs/tutorial/path-params.md @@ -115,6 +115,14 @@ Because *path operations* are evaluated in order, you need to make sure that the Otherwise, the path for `/users/{user_id}` would match also for `/users/me`, "thinking" that it's receiving a parameter `user_id` with a value of `"me"`. +Similarly, you cannot redefine a path operation: + +```Python hl_lines="6 11" +{!../../../docs_src/path_params/tutorial003b.py!} +``` + +The first one will always be used since the path matches first. + ## Predefined values If you have a *path operation* that receives a *path parameter*, but you want the possible valid *path parameter* values to be predefined, you can use a standard Python `Enum`. diff --git a/docs_src/path_params/tutorial003b.py b/docs_src/path_params/tutorial003b.py new file mode 100644 index 0000000000..822d373694 --- /dev/null +++ b/docs_src/path_params/tutorial003b.py @@ -0,0 +1,13 @@ +from fastapi import FastAPI + +app = FastAPI() + + +@app.get("/users") +async def read_users(): + return ["Rick", "Morty"] + + +@app.get("/users") +async def read_users2(): + return ["Bean", "Elfo"]