Метод options класса APIRouter
Метод options применяется к экземпляру класса APIRouter и вешает функцию на OPTIONS-запрос.
Первым параметром передаётся путь URL.
Функция возвращает словарь, список или модель, которые FastAPI отдаёт как JSON.
Метод удобно использовать для группировки маршрутов и последующего подключения роутера к приложению.
Синтаксис
router.options(path)
Пример
Давайте создадим роутер и повесим обработчик на адрес '/':
from fastapi import APIRouter
router = APIRouter()
@router.options('/')
def options_root():
return {'message': 'options allowed'}
Результат выполнения кода при запросе OPTIONS /:
{"message": "options allowed"}
Пример
Давайте подключим роутер к приложению и примем параметр name из URL:
from fastapi import FastAPI, APIRouter
app = FastAPI()
router = APIRouter()
@router.options('/user/{name}')
def options_user(name: str):
return {'name': name, 'method': 'OPTIONS'}
app.include_router(router)
Результат выполнения кода для запроса OPTIONS /user/abcde:
{"name": "abcde", "method": "OPTIONS"}