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