|
|
|
@ -164,8 +164,6 @@ $ pip install "fastapi[standard]" |
|
|
|
Create a file `main.py` with: |
|
|
|
|
|
|
|
```Python |
|
|
|
from typing import Union |
|
|
|
|
|
|
|
from fastapi import FastAPI |
|
|
|
|
|
|
|
app = FastAPI() |
|
|
|
@ -177,7 +175,7 @@ def read_root(): |
|
|
|
|
|
|
|
|
|
|
|
@app.get("/items/{item_id}") |
|
|
|
def read_item(item_id: int, q: Union[str, None] = None): |
|
|
|
def read_item(item_id: int, q: str | None = None): |
|
|
|
return {"item_id": item_id, "q": q} |
|
|
|
``` |
|
|
|
|
|
|
|
@ -186,9 +184,7 @@ def read_item(item_id: int, q: Union[str, None] = None): |
|
|
|
|
|
|
|
If your code uses `async` / `await`, use `async def`: |
|
|
|
|
|
|
|
```Python hl_lines="9 14" |
|
|
|
from typing import Union |
|
|
|
|
|
|
|
```Python hl_lines="7 12" |
|
|
|
from fastapi import FastAPI |
|
|
|
|
|
|
|
app = FastAPI() |
|
|
|
@ -200,7 +196,7 @@ async def read_root(): |
|
|
|
|
|
|
|
|
|
|
|
@app.get("/items/{item_id}") |
|
|
|
async def read_item(item_id: int, q: Union[str, None] = None): |
|
|
|
async def read_item(item_id: int, q: str | None = None): |
|
|
|
return {"item_id": item_id, "q": q} |
|
|
|
``` |
|
|
|
|
|
|
|
@ -291,9 +287,7 @@ Now modify the file `main.py` to receive a body from a `PUT` request. |
|
|
|
|
|
|
|
Declare the body using standard Python types, thanks to Pydantic. |
|
|
|
|
|
|
|
```Python hl_lines="4 9-12 25-27" |
|
|
|
from typing import Union |
|
|
|
|
|
|
|
```Python hl_lines="2 7-10 23-25" |
|
|
|
from fastapi import FastAPI |
|
|
|
from pydantic import BaseModel |
|
|
|
|
|
|
|
@ -303,7 +297,7 @@ app = FastAPI() |
|
|
|
class Item(BaseModel): |
|
|
|
name: str |
|
|
|
price: float |
|
|
|
is_offer: Union[bool, None] = None |
|
|
|
is_offer: bool | None = None |
|
|
|
|
|
|
|
|
|
|
|
@app.get("/") |
|
|
|
@ -312,7 +306,7 @@ def read_root(): |
|
|
|
|
|
|
|
|
|
|
|
@app.get("/items/{item_id}") |
|
|
|
def read_item(item_id: int, q: Union[str, None] = None): |
|
|
|
def read_item(item_id: int, q: str | None = None): |
|
|
|
return {"item_id": item_id, "q": q} |
|
|
|
|
|
|
|
|
|
|
|
|