Метод api_route класса FastAPI
Метод api_route применяется к приложению
FastAPI и вешает функцию на один или несколько
HTTP-методов. Первым параметром передаётся путь URL,
вторым - список разрешённых методов.
Функция возвращает словарь, список или модель,
которые FastAPI отдаёт как JSON.
Метод удобен, когда один и тот же адрес должен
обрабатываться разными HTTP-методами.
Синтаксис
@app.api_route(path, methods=['GET', 'POST'])
Пример
Давайте повесим обработчик на адрес '/' для GET и POST:
from fastapi import FastAPI
app = FastAPI()
@app.api_route('/', methods=['GET', 'POST'])
def index():
return {'text': 'hello'}
Результат выполнения кода для GET-запроса:
{"text": "hello"}
Пример
Давайте примем параметр name из URL и вернём метод запроса:
from fastapi import FastAPI, Request
app = FastAPI()
@app.api_route('/user/{name}', methods=['GET', 'PUT'])
def user(name: str, request: Request):
return {'name': name, 'method': request.method}
Результат выполнения кода для адреса /user/abcde:
{"name": "abcde", "method": "GET"}
Смотрите также
-
метод
get,
который вешает обработчик на GET-запрос -
метод
post,
который вешает обработчик на POST-запрос -
метод
add_api_route,
который добавляет маршрут без декоратора -
класс
FastAPI,
который создаёт приложение и хранит маршруты