Метод post
Метод post применяется к приложению
FastAPI и вешает функцию на POST-запрос.
Первым параметром передаётся путь URL.
Функция возвращает словарь, список или модель,
которые FastAPI отдаёт как JSON.
POST-запросы обычно используются для отправки
данных на сервер, например при создании записи.
Синтаксис
@app.post(path)
Пример
Давайте повесим обработчик на адрес '/items':
from fastapi import FastAPI
app = FastAPI()
@app.post('/items')
def create_item():
return {'text': 'created'}
Результат выполнения кода:
{"text": "created"}
Пример
Давайте примем данные из тела запроса через модель Pydantic:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: int
@app.post('/items')
def create_item(item: Item):
return {'name': item.name, 'price': item.price}
Результат выполнения кода для тела запроса {"name": "abcde", "price": 100}:
{"name": "abcde", "price": 100}
Пример
Давайте зададим код ответа 201 и тег items через параметры декоратора:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
@app.post('/items', status_code=201, tags=['items'])
def create_item(item: Item):
return {'name': item.name}
Результат выполнения кода для тела запроса {"name": "user"}:
{"name": "user"}