From 1f5762703dc4ce0e69510332461af9364019d3c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?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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 JWg-Ut{|f==#83bL literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md index 39d40509c..3fc9b6067 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 a09a1442d..5572fc2e9 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 000000000..30b115f23 --- /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 000000000..b06c33c3e --- /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 000000000..183180cd7 --- /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 000000000..311ece816 --- /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 000000000..785db44c0 --- /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 000000000..22eb3acba --- /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 000000000..720bf07f1 --- /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 000000000..76b9ea811 --- /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 000000000..339f80e93 --- /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 000000000..7f5010014 --- /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 000000000..051656c76 --- /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 089fe9492..2a4aca4e1 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'