From 1f5762703dc4ce0e69510332461af9364019d3c3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Fri, 14 Dec 2018 17:10:08 +0400 Subject: [PATCH] :memo: Add Query() parameters tutorial and update docs --- .../tutorial/query-params-schema/image01.png | Bin 0 -> 86345 bytes docs/index.md | 2 +- docs/tutorial/first-steps.md | 27 +++ docs/tutorial/query-params-schema.md | 181 ++++++++++++++++++ .../src/query-params-schema/tutorial001.py | 11 ++ .../src/query-params-schema/tutorial002.py | 11 ++ .../src/query-params-schema/tutorial003.py | 11 ++ .../src/query-params-schema/tutorial004.py | 13 ++ .../src/query-params-schema/tutorial005.py | 11 ++ .../src/query-params-schema/tutorial006.py | 11 ++ .../src/query-params-schema/tutorial007.py | 11 ++ .../src/query-params-schema/tutorial008.py | 18 ++ .../src/query-params-schema/tutorial009.py | 11 ++ .../src/query-params-schema/tutorial010.py | 22 +++ mkdocs.yml | 1 + 15 files changed, 340 insertions(+), 1 deletion(-) create mode 100644 docs/img/tutorial/query-params-schema/image01.png create mode 100644 docs/tutorial/query-params-schema.md create mode 100644 docs/tutorial/src/query-params-schema/tutorial001.py create mode 100644 docs/tutorial/src/query-params-schema/tutorial002.py create mode 100644 docs/tutorial/src/query-params-schema/tutorial003.py create mode 100644 docs/tutorial/src/query-params-schema/tutorial004.py create mode 100644 docs/tutorial/src/query-params-schema/tutorial005.py create mode 100644 docs/tutorial/src/query-params-schema/tutorial006.py create mode 100644 docs/tutorial/src/query-params-schema/tutorial007.py create mode 100644 docs/tutorial/src/query-params-schema/tutorial008.py create mode 100644 docs/tutorial/src/query-params-schema/tutorial009.py create mode 100644 docs/tutorial/src/query-params-schema/tutorial010.py diff --git a/docs/img/tutorial/query-params-schema/image01.png b/docs/img/tutorial/query-params-schema/image01.png new file mode 100644 index 0000000000000000000000000000000000000000..901341f89dcb096de0351a09dc08c64d8015c5aa GIT binary patch literal 86345 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⁢3Ps!m^9RRNHM0gh~p^MbjH82GnAG;uR{DO<7rg2*@mAX)??QWX?rNt_n zl{vg$*bOcAY6kS^w4+(J{u{s#boY3r%l;jdiWBNlAJKWccO3_dnAR{DBgn6a+^UzUKN z^+xL7EzUwy{pXr`P6aIc|NNlRgV_rwaw0Zc3*l3HpF$P>ADIG%gi_nnu=h(ML zYZ3S>08DN8+(EB-9v<iRpn#4y z)OuqPW%1C#0#FMj6UKWIKUDE=&qKOAwvJoFy9sM2|6Lnt>$`bHqJ|BDcP{{FmO(66 zPb}YT*qRU>kn!a&GSfyGC&(OW)vwLy|vF;FoSF1&_wtUrmt<95;mIT=qK4u zcbrRhON7mpsG`oIzI0#PJkVXg(5DTReh3ISWY7E-u#fe0cLC_l;SVl`@Wzq(y)zqX zu)+IE^h$XF_74hAM*S!jtQMJ}>hg+fI}KL+B{1^(rWIII*cfzQlFh57c232Z6pH{k3sa zpL8dhniiGxG4F;>fdHVQO2(;nZ7TqiH%u(r;LYRWkf<^BJX{6Lvy(L#r z$HgDFG#)hn24gIe#vda9$KSJv(ZAoQ#s~&CjDkH{oq}AX4ssFCOj2x)#{OUTLV(n`FL)A9-kOTaLzsf7VX?UECbVKGGcfVc+}>{<6MmV+5Yc?{@vS2!Rd8asPUR zuTwR7Fg`!G=l>d;|DBMu^+uWP3mH^9}aYyV2Bx| zw0<$mi}6Le-E?28crbo4Y4?P+&5Z=R`cZzq{*s@#o;Q+L-|2*CD;(kO2U#gV-s)Lg zMef}N?>_#Qx$|oKe;)%Zth5;keP}4XL&}d=1UK&$-c&KB(k$c3=aE*|Xi_CEwX3#I zrlj3?jk^OsTDbTZg{+Da8?EBR&)S!6`3P>zTW$Tch5%N|_V;LZ8c8bI?412L}X9E$HPyhCjGc zk-D0hEXVk{uHy|}nbHLFZCPtY6~T-Naz}TWu8y1BpH(2yx?)TkJJEFRr(|huNUYCeZ{ltI|aq0)Hi>)V2gtL@KgfpZg7r|Vt$2}y8eGRT@}wmXN~mcC;!Z(Qsz znKcZedM22-;_fCLo%aNS>>j77(=mb}fz4&n%FJ>02jPbtLujr<c%6`ZZ;)i?XZ%l(Nn_}?Cn_HZPgYcW5JcWoNt_^#ZuQ1HM zEau{R<<3PHO$rWyG7coYPqxsmi&8dAPZJ0rZwB)lPZnwlmd>cFW-=q6Ywr}%yG81Y( z$*ty)Kt}+4Gkq2lzRNcP`f&nNaptwQ&QAlkyz$Yh&n>TjHW^^P5)IsJGxJUY$7Fm7 z?>dW`&!9gvu^#Iyx$RMiv=`qAkg6L1v|dlZo9zD053Sc$f%sKq!gBPAW@AaH(T8$+ ztr!Zf%N1s|Jm^l>?>%b!S$uG93t$0+UuYR65D7KLW6hJ;1udMRC|jH_;c3gS%_hNS zUp7Uq6SINZ2-MBl0fc@FMllh(VDHjDfbDAi*pP_3zaJgT zW^k0(D-MW_5&M<>oK*Ne;B?Ky6UY3e>(WQj8B=Nyxp(h0YQB=RZCAmy zbq&-ttu@}o+37zsMs+Y5NqmZ$_5q>4WherI;>ov{HG42X3vNzd4{{hLE%#%%K<_89 z_Whm$+6Af7!Lm0aKe4FNn)BucC~A{#Dspcy9DLgYr@!$|9G5~NQqzfxzj*V$N&S(6 zuiR=6UGI`yrj8io$b+SwzOVc7_Dv2Ld@#Ov&IzG(6#W_6_c%7121EmF)YHwscUI%BO& zMPqdHVAcNmnUzQGJ2zD_tvc*zpM~qmQqTa|xN+|*ix~`h(R>NS*hdrF<-}JrRhRF( z`~BK;qkkoP&oZ&~;%O*%wQ%8D+?A%Y$_IY-W)a$G= zQ5P~OsZ zEmb3KysK)`)M&&JCG_F_yRgJ_ zdcUX-^z_QP9H>di8EItpWIEeB&*mSJ5Up`c>A$%r{w>*v{crV*DCWMuD_Kx~`cso6 ziE``@e@5cJMHzZa7xeXeQs-IoAa!8spCft^Z38%u2uSJ&PQXBWJ=9TacAY< zy^V@qYH%f;>GF=xW&={}T{7WkSPyaiEd%{ZabNj%!#wd#yxbukJk*=5cX`6k@6YwX zIBWshgWaSYm>Tk1FDs;5H%DVyL`5^-#-Jqie6jUan9@daFJNB1cX4RhCMo!&OBEmU za-7%8h?VIidjUfDo@-jp54q#&weenu!H|mBIr7IJ^)2qwLO-Ev60MX(dONC>OwL

0M(`2eR;pT`jci;AKs<9y;uRUVvP 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 literal 0 Hc-jL100001 diff --git a/docs/index.md b/docs/index.md index 39d40509c1..3fc9b6067f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -279,7 +279,7 @@ Try changing the line with: ![editor support](https://fastapi.tiangolo.com/img/vscode-completion.png) -For a more complete example including more features, [see the tutorial](). +For a more complete example including more features, [see the tutorial](tutorial/intro/). **Spoiler alert**: the tutorial, although very short, includes: diff --git a/docs/tutorial/first-steps.md b/docs/tutorial/first-steps.md index a09a1442dd..5572fc2e97 100644 --- a/docs/tutorial/first-steps.md +++ b/docs/tutorial/first-steps.md @@ -57,6 +57,33 @@ You will see the alternative automatic documentation (provided by http://127.0.0.1:8000/openapi.json. + +It will show a JSON starting with something like: + +```JSON +{ + "openapi": "3.0.2", + "info": { + "title": "Fast API", + "version": "0.1.0" + }, + "paths": { + "/items/": { + "get": { + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + + + +... +``` + ## Recap, step by step ### Step 1: import `FastAPI` diff --git a/docs/tutorial/query-params-schema.md b/docs/tutorial/query-params-schema.md new file mode 100644 index 0000000000..30b115f23c --- /dev/null +++ b/docs/tutorial/query-params-schema.md @@ -0,0 +1,181 @@ +**FastAPI** allows you to declare additonal information and validation for your parameters. + +Let's take this application as example: + +```Python hl_lines="7" +{!./tutorial/src/query-params-schema/tutorial001.py!} +``` + +The query parameter `q` is of type `str`, and by default is `None`, so it is optional. + +## Additional validation + +We are going to enforce that even though `q` is optional, whenever it is provided, it **doesn't exceed a length of 50 characters**. + + +### Import `Query` + +To achieve that, first import `Query` from `fastapi`: + +```Python hl_lines="1" +{!./tutorial/src/query-params-schema/tutorial002.py!} +``` + +## Use `Query` as the default value + +And now use it as the default value of your parameter, setting the parameter `max_length` to 50: + +```Python hl_lines="7" +{!./tutorial/src/query-params-schema/tutorial002.py!} +``` + +As we have to replace the default value `None` with `Query(None)`, the first parameter to `Query` serves the same purpose of defining that default value. + +So: + +```Python +q: str = Query(None) +``` + +...makes the parameter optional, the same as: + +```Python +q: str = None +``` + +But it declares it explicitly as being a query parameter. + +And then, we can pass more parameters to `Query`. In this case, the `max_length` parameter that applies to strings: + +```Python +q: str = Query(None, max_length=50) +``` + +This will validate the data, show a clear error when the data is not valid, and document the parameter in the OpenAPI schema endpoint. + + +## Add more validations + +You can also add a parameter `min_length`: + +```Python hl_lines="7" +{!./tutorial/src/query-params-schema/tutorial003.py!} +``` + +## Add regular expressions + +You can define a regular expression that the parameter should match: + +```Python hl_lines="8" +{!./tutorial/src/query-params-schema/tutorial004.py!} +``` + +This specific regular expression checks that the received parameter value: + +* `^`: starts with the following characters, doesn't have characters before. +* `fixedquery`: has the exact value `fixedquery`. +* `$`: ends there, doesn't have any more characters after `fixedquery`. + +If you feel lost with all these **"regular expression"** ideas, don't worry. They are a hard topic for many people. You can still do a lot of stuff without needing regular expressions yet. + +But whenever you need them and go and learn them, know that you can already use them directly in **FastAPI**. + +## Default values + +The same way that you can pass `None` as the first argument to be used as the default value, you can pass other values. + +Let's say that you want to declare the `q` query parameter to have a `min_length` of `3`, and to have a default value of `"fixedquery"`: + +```Python hl_lines="7" +{!./tutorial/src/query-params-schema/tutorial005.py!} +``` + +!!! note + Having a default value also makes the parameter optional. + +## Make it required + +When we don't need to declare more validations or metadata, we can make the `q` query parameter required just by not declaring a default value, like: + +```Python +q: str +``` + +instead of: + +```Python +q: str = None +``` + +But we are now declaring it with `Query`, for example like: + +```Python +q: str = Query(None, min_length=3) +``` + +So, when you need to declare a value as required while using `Query`, you can use `...` as the first argument: + +```Python hl_lines="7" +{!./tutorial/src/query-params-schema/tutorial006.py!} +``` + +!!! info + If you hadn't seen that `...` before: it is a a special single value, it is part of Python and is called "Ellipsis". + +This will let **FastAPI** know that this parameter is required. + +## Declare more metadata + +You can add more information about the parameter. + +That information will be included in the generated OpenAPI and used by the documentation user interfaces and external tools. + +You can add a `title`: + +```Python hl_lines="7" +{!./tutorial/src/query-params-schema/tutorial007.py!} +``` + +And a `description`: + +```Python hl_lines="11" +{!./tutorial/src/query-params-schema/tutorial008.py!} +``` + +## Alias parameters + +Imagine that you want the parameter to be `item-query`. + +Like in: + +``` +http://127.0.0.1:8000/items/?item-query=foobaritems +``` + +But `item-query` is not a valid Python variable name. + +The closest would be `item_query`. + +But you still need it to be exactly `item-query`... + +Then you can declare an `alias`, and that alias is what will be used to find the parameter value: + +```Python hl_lines="7" +{!./tutorial/src/query-params-schema/tutorial009.py!} +``` + +## Deprecating parameters + +Now let's say you don't like this parameter anymore. + +You have to leave it there a while because there are clients using it, but you want the docs to clearly show it as deprecated. + +Then pass the parameter `deprecated=True` to `Query`: + +```Python hl_lines="16" +{!./tutorial/src/query-params-schema/tutorial010.py!} +``` + +The docs will show it like this: + + diff --git a/docs/tutorial/src/query-params-schema/tutorial001.py b/docs/tutorial/src/query-params-schema/tutorial001.py new file mode 100644 index 0000000000..b06c33c3ee --- /dev/null +++ b/docs/tutorial/src/query-params-schema/tutorial001.py @@ -0,0 +1,11 @@ +from fastapi import FastAPI + +app = FastAPI() + + +@app.get("/items/") +async def read_items(q: str = None): + results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} + if q: + results.update({"q": q}) + return results diff --git a/docs/tutorial/src/query-params-schema/tutorial002.py b/docs/tutorial/src/query-params-schema/tutorial002.py new file mode 100644 index 0000000000..183180cd74 --- /dev/null +++ b/docs/tutorial/src/query-params-schema/tutorial002.py @@ -0,0 +1,11 @@ +from fastapi import FastAPI, Query + +app = FastAPI() + + +@app.get("/items/") +async def read_items(q: str = Query(None, max_length=50)): + results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} + if q: + results.update({"q": q}) + return results diff --git a/docs/tutorial/src/query-params-schema/tutorial003.py b/docs/tutorial/src/query-params-schema/tutorial003.py new file mode 100644 index 0000000000..311ece816a --- /dev/null +++ b/docs/tutorial/src/query-params-schema/tutorial003.py @@ -0,0 +1,11 @@ +from fastapi import FastAPI, Query + +app = FastAPI() + + +@app.get("/items/") +async def read_items(q: str = Query(None, min_length=3, max_length=50)): + results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} + if q: + results.update({"q": q}) + return results diff --git a/docs/tutorial/src/query-params-schema/tutorial004.py b/docs/tutorial/src/query-params-schema/tutorial004.py new file mode 100644 index 0000000000..785db44c0d --- /dev/null +++ b/docs/tutorial/src/query-params-schema/tutorial004.py @@ -0,0 +1,13 @@ +from fastapi import FastAPI, Query + +app = FastAPI() + + +@app.get("/items/") +async def read_items( + q: str = Query(None, min_length=3, max_length=50, regex="^fixedquery$") +): + results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} + if q: + results.update({"q": q}) + return results diff --git a/docs/tutorial/src/query-params-schema/tutorial005.py b/docs/tutorial/src/query-params-schema/tutorial005.py new file mode 100644 index 0000000000..22eb3acba1 --- /dev/null +++ b/docs/tutorial/src/query-params-schema/tutorial005.py @@ -0,0 +1,11 @@ +from fastapi import FastAPI, Query + +app = FastAPI() + + +@app.get("/items/") +async def read_items(q: str = Query("fixedquery", min_length=3)): + results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} + if q: + results.update({"q": q}) + return results diff --git a/docs/tutorial/src/query-params-schema/tutorial006.py b/docs/tutorial/src/query-params-schema/tutorial006.py new file mode 100644 index 0000000000..720bf07f1a --- /dev/null +++ b/docs/tutorial/src/query-params-schema/tutorial006.py @@ -0,0 +1,11 @@ +from fastapi import FastAPI, Query + +app = FastAPI() + + +@app.get("/items/") +async def read_items(q: str = Query(..., min_length=3)): + results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} + if q: + results.update({"q": q}) + return results diff --git a/docs/tutorial/src/query-params-schema/tutorial007.py b/docs/tutorial/src/query-params-schema/tutorial007.py new file mode 100644 index 0000000000..76b9ea811d --- /dev/null +++ b/docs/tutorial/src/query-params-schema/tutorial007.py @@ -0,0 +1,11 @@ +from fastapi import FastAPI, Query + +app = FastAPI() + + +@app.get("/items/") +async def read_items(q: str = Query(None, title="Query string", min_length=3)): + results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} + if q: + results.update({"q": q}) + return results diff --git a/docs/tutorial/src/query-params-schema/tutorial008.py b/docs/tutorial/src/query-params-schema/tutorial008.py new file mode 100644 index 0000000000..339f80e933 --- /dev/null +++ b/docs/tutorial/src/query-params-schema/tutorial008.py @@ -0,0 +1,18 @@ +from fastapi import FastAPI, Query + +app = FastAPI() + + +@app.get("/items/") +async def read_items( + q: str = Query( + None, + title="Query string", + description="Query string for the items to search in the database that have a good match", + min_length=3, + ) +): + results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} + if q: + results.update({"q": q}) + return results diff --git a/docs/tutorial/src/query-params-schema/tutorial009.py b/docs/tutorial/src/query-params-schema/tutorial009.py new file mode 100644 index 0000000000..7f50100144 --- /dev/null +++ b/docs/tutorial/src/query-params-schema/tutorial009.py @@ -0,0 +1,11 @@ +from fastapi import FastAPI, Query + +app = FastAPI() + + +@app.get("/items/") +async def read_items(q: str = Query(None, alias="item-query")): + results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} + if q: + results.update({"q": q}) + return results diff --git a/docs/tutorial/src/query-params-schema/tutorial010.py b/docs/tutorial/src/query-params-schema/tutorial010.py new file mode 100644 index 0000000000..051656c768 --- /dev/null +++ b/docs/tutorial/src/query-params-schema/tutorial010.py @@ -0,0 +1,22 @@ +from fastapi import FastAPI, Query + +app = FastAPI() + + +@app.get("/items/") +async def read_items( + q: str = Query( + None, + alias="item-query", + title="Query string", + description="Query string for the items to search in the database that have a good match", + min_length=3, + max_length=50, + regex="^fixedquery$", + deprecated=True, + ) +): + results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]} + if q: + results.update({"q": q}) + return results diff --git a/mkdocs.yml b/mkdocs.yml index 089fe94925..2a4aca4e13 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -22,6 +22,7 @@ nav: - Path Parameters: 'tutorial/path-params.md' - Query Parameters: 'tutorial/query-params.md' - Request Body: 'tutorial/body.md' + - Query Parameters with toppings: 'tutorial/query-params-schema.md' - Concurrency and async / await: 'async.md' - Deployment: 'deployment.md' -- 2.47.3