Встречается на собеседованиях • сегодня

Как используется 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=["*"]
)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы