Встречается на собеседованиях • сегодня
Как используется middleware в FastAPI
Middleware в FastAPI — это промежуточный слой, который обрабатывает запросы и ответы до/после их попадания в основной обработчик. Он позволяет выполнять общие задачи: логирование, аутентификацию, CORS и т.д.
Пример добавления middleware для логирования:
python
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
text
Ключевые моменты:
1. Middleware регистрируется через декоратор `@app.middleware("http")`
2. Принимает `request` и функцию `call_next` (передает управление следующему middleware/обработчику)
3. Можно модифицировать запрос/ответ или добавлять заголовки
4. Встроенные middleware (например, для CORS) подключаются через `app.add_middleware()`
Пример CORS:
```python
from fastapi.middleware.cors import CORSMiddleware
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_methods=["*"]
)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы