fastapi

Форк
0
26 строк · 734.0 Байт
1
from typing import Union
2

3
from fastapi import Body, FastAPI, status
4
from fastapi.responses import JSONResponse
5
from typing_extensions import Annotated
6

7
app = FastAPI()
8

9
items = {"foo": {"name": "Fighters", "size": 6}, "bar": {"name": "Tenders", "size": 3}}
10

11

12
@app.put("/items/{item_id}")
13
async def upsert_item(
14
    item_id: str,
15
    name: Annotated[Union[str, None], Body()] = None,
16
    size: Annotated[Union[int, None], Body()] = None,
17
):
18
    if item_id in items:
19
        item = items[item_id]
20
        item["name"] = name
21
        item["size"] = size
22
        return item
23
    else:
24
        item = {"name": name, "size": size}
25
        items[item_id] = item
26
        return JSONResponse(status_code=status.HTTP_201_CREATED, content=item)
27

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

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

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

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