РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
100 of 307 menu

Атрибут method

Атрибут method принадлежит классу Request и хранит HTTP-метод текущего запроса в виде строки верхнего регистра: 'GET', 'POST', 'PUT', 'DELETE' и так далее. Атрибут доступен внутри обработчика через объект запроса и не принимает параметров.

Синтаксис

request.method

Пример

Давайте получим HTTP-метод запроса и вернём его в ответе:

from fastapi import FastAPI, Request app = FastAPI() @app.get('/') async def index(request: Request): return {'method': request.method}

Результат выполнения кода для GET-запроса:

{"method": "GET"}

Пример

Давайте повесим один обработчик на несколько методов и вернём разные ответы в зависимости от значения атрибута method:

from fastapi import FastAPI, Request app = FastAPI() @app.api_route('/user', methods=['GET', 'POST']) async def user(request: Request): if request.method == 'GET': return {'action': 'read'} return {'action': 'create'}

Результат выполнения кода для POST-запроса:

{"action": "create"}

Пример

Давайте проверим метод запроса и вернём сообщение об ошибке, если он не равен 'DELETE':

from fastapi import FastAPI, Request from fastapi.responses import JSONResponse app = FastAPI() @app.delete('/article') async def article(request: Request): if request.method != 'DELETE': return JSONResponse( status_code=405, content={'error': 'method not allowed'} ) return {'status': 'deleted'}

Результат выполнения кода для DELETE-запроса:

{"status": "deleted"}

Смотрите также

  • класс Request,
    который представляет HTTP-запрос
  • атрибут url,
    который содержит URL текущего запроса
  • атрибут headers,
    который содержит заголовки текущего запроса
  • атрибут query_params,
    который содержит query-параметры текущего запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить