fastapi

Форк
0
/
tutorial005_an_py39.py 
54 строки · 1.5 Кб
1
from typing import Annotated, Union
2

3
from fastapi import Body, FastAPI
4
from pydantic import BaseModel
5

6
app = FastAPI()
7

8

9
class Item(BaseModel):
10
    name: str
11
    description: Union[str, None] = None
12
    price: float
13
    tax: Union[float, None] = None
14

15

16
@app.put("/items/{item_id}")
17
async def update_item(
18
    *,
19
    item_id: int,
20
    item: Annotated[
21
        Item,
22
        Body(
23
            openapi_examples={
24
                "normal": {
25
                    "summary": "A normal example",
26
                    "description": "A **normal** item works correctly.",
27
                    "value": {
28
                        "name": "Foo",
29
                        "description": "A very nice Item",
30
                        "price": 35.4,
31
                        "tax": 3.2,
32
                    },
33
                },
34
                "converted": {
35
                    "summary": "An example with converted data",
36
                    "description": "FastAPI can convert price `strings` to actual `numbers` automatically",
37
                    "value": {
38
                        "name": "Bar",
39
                        "price": "35.4",
40
                    },
41
                },
42
                "invalid": {
43
                    "summary": "Invalid data is rejected with an error",
44
                    "value": {
45
                        "name": "Baz",
46
                        "price": "thirty five point four",
47
                    },
48
                },
49
            },
50
        ),
51
    ],
52
):
53
    results = {"item_id": item_id, "item": item}
54
    return results
55

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.