Как используется middleware в FastAPI

Python Middle Без компании
Как используется middleware в FastAPI
Ответы
Middleware в FastAPI — это промежуточный слой, который обрабатывает запросы и ответы до/после их попадания в основной обработчик. Он позволяет выполнять общие задачи: логирование, аутентификацию, CORS и т.д. Пример добавления middleware для логирования: ``` from fastapi import FastAPI, Request import time app = FastAPI() @app.middleware("http") async def log_requests(request: Request, call_next): start_time = time.time() response = await call_next(request) process_time = time.time() - start_time print(f"Request: {request.method} {request.url} took {process_time:.2f}s") return response ``` Ключевые моменты: - Middleware регистрируется через декоратор `@app.middleware("http")` - Принимает `request` и функцию `call_next` (передает управление следующему middleware/обработчику) - Можно модифицировать запрос/ответ или добавлять заголовки - Встроенные middleware (например, для CORS) подключаются через `app.add_middleware()` Пример CORS: ``` from fastapi.middleware.cors import CORSMiddleware app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_methods=["*"] ) ```