Метод api_route
Метод api_route применяется к объекту роутера
APIRouter и вешает функцию на указанный HTTP-метод.
Первым параметром передаётся путь URL, вторым - список
HTTP-методов methods. По умолчанию методы не заданы,
поэтому их следует указывать явно. Функция возвращает словарь,
список или модель, которые FastAPI отдаёт как JSON.
Синтаксис
@router.api_route(path, methods=['GET'])
Пример
Давайте повесим обработчик на адрес '/items' для метода GET:
from fastapi import APIRouter
router = APIRouter()
@router.api_route('/items', methods=['GET'])
def read_items():
return {'items': ['a', 'b', 'c', 'd', 'e']}
Результат выполнения кода:
{"items": ["a", "b", "c", "d", "e"]}
Пример
Давайте зарегистрируем один обработчик сразу для методов
GET и POST на адрес '/user':
from fastapi import APIRouter
router = APIRouter()
@router.api_route('/user', methods=['GET', 'POST'])
def user():
return {'name': 'abcde'}
Результат выполнения кода для GET-запроса:
{"name": "abcde"}
Пример
Давайте подключим роутер к приложению FastAPI:
from fastapi import FastAPI
from routers.user import router as user_router
app = FastAPI()
app.include_router(user_router)
Результат выполнения кода для адреса /user:
{"name": "abcde"}
Смотрите также
-
класс
APIRouter,
который группирует маршруты в отдельный роутер -
метод
get,
который вешает обработчик на GET-запрос -
метод
post,
который вешает обработчик на POST-запрос -
метод
include_router,
который подключает роутер к приложению