Sobes.tech
Назад к вопросам
Junior — Middle
72

Какова роль Middleware в FastAPI и зачем его используют в приложениях?

Компании, где спрашивали
ИнфоТехСервис

Ответ от нейросети

sobes.tech AI

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

Пример использования middleware в FastAPI:

from fastapi import FastAPI, Request
from starlette.middleware.base import BaseHTTPMiddleware

app = FastAPI()

class SimpleMiddleware(BaseHTTPMiddleware):
    async def dispatch(self, request: Request, call_next):
        print(f"Получен запрос: {request.method} {request.url}")
        response = await call_next(request)
        print(f"Отправлен ответ со статусом: {response.status_code}")
        return response

app.add_middleware(SimpleMiddleware)

@app.get("/")
async def root():
    return {"message": "Hello World"}

Таким образом, middleware помогает централизованно обрабатывать общие задачи, не загромождая код отдельных обработчиков.