fastapi

Форк
0
51 строка · 1.4 Кб
1
from typing import 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: Item = Body(
21
        openapi_examples={
22
            "normal": {
23
                "summary": "A normal example",
24
                "description": "A **normal** item works correctly.",
25
                "value": {
26
                    "name": "Foo",
27
                    "description": "A very nice Item",
28
                    "price": 35.4,
29
                    "tax": 3.2,
30
                },
31
            },
32
            "converted": {
33
                "summary": "An example with converted data",
34
                "description": "FastAPI can convert price `strings` to actual `numbers` automatically",
35
                "value": {
36
                    "name": "Bar",
37
                    "price": "35.4",
38
                },
39
            },
40
            "invalid": {
41
                "summary": "Invalid data is rejected with an error",
42
                "value": {
43
                    "name": "Baz",
44
                    "price": "thirty five point four",
45
                },
46
            },
47
        },
48
    ),
49
):
50
    results = {"item_id": item_id, "item": item}
51
    return results
52

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

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

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

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