Sobes.tech
Back to questions
Junior — Middle
69

Каковы преимущества использования middleware в FastAPI для обработки запросов?

Companies where asked
ИнфоТехСервис

Answer from AI

sobes.tech AI

Middleware в FastAPI позволяет централизованно обрабатывать входящие запросы и исходящие ответы, что даёт несколько преимуществ:

  • Повторное использование кода: можно реализовать общую логику (например, логирование, аутентификация, обработка CORS) в одном месте, не дублируя её в каждом эндпоинте.
  • Упрощение архитектуры: разделение кросс-срезных задач от бизнес-логики делает код чище и поддерживаемее.
  • Гибкость: middleware можно легко подключать, отключать или менять порядок их вызова.

Пример простого middleware для логирования времени обработки запроса:

from fastapi import FastAPI, Request
import time

app = FastAPI()

@app.middleware("http")
async def log_request_time(request: Request, call_next):
    start_time = time.time()
    response = await call_next(request)
    process_time = time.time() - start_time
    print(f"Request {request.url.path} took {process_time:.4f} seconds")
    return response