Метод json
Метод json применяется к объекту запроса Request и предназначен для чтения тела запроса. Он асинхронно считывает тело запроса, преобразует его из формата JSON в соответствующие Python-объекты (словари, списки, строки, числа) и возвращает результат. Метод не принимает аргументов и должен вызываться с ключевым словом await.
Синтаксис
await request.json()
Пример
Давайте создадим обработчик, который принимает POST-запрос и выводит полученный JSON:
from fastapi import FastAPI, Request
app = FastAPI()
@app.post('/data')
async def get_data(request: Request):
data = await request.json()
return {'received': data}
Результат выполнения кода при отправке JSON {"name": "abcde", "age": 25}:
{"received": {"name": "abcde", "age": 25}}
Пример
Давайте обработаем список, переданный в теле запроса:
from fastapi import FastAPI, Request
app = FastAPI()
@app.post('/items')
async def get_items(request: Request):
items = await request.json()
return {'count': len(items), 'items': items}
Результат выполнения кода при отправке JSON [1, 2, 3, 4, 5]:
{"count": 5, "items": [1, 2, 3, 4, 5]}