Sobes.tech
Back to questions
Middle
1

Что такое Middleware в FastAPI и зачем оно нужно?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Middleware в FastAPI — это компонент, который перехватывает HTTP-запросы и ответы на уровне приложения, позволяя выполнять дополнительную обработку до и после вызова конечных точек (эндпоинтов).

Зачем нужно Middleware:

  • Логирование запросов и ответов
  • Обработка ошибок и исключений
  • Управление CORS
  • Аутентификация и авторизация
  • Изменение или добавление заголовков

Пример простого middleware, который выводит время обработки запроса:

from fastapi import FastAPI, Request
import time

app = FastAPI()

@app.middleware("http")
async def add_process_time_header(request: Request, call_next):
    start_time = time.time()
    response = await call_next(request)
    process_time = time.time() - start_time
    response.headers["X-Process-Time"] = str(process_time)
    return response