Назад к вопросам
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 помогает централизованно обрабатывать общие задачи, не загромождая код отдельных обработчиков.