Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про FastAPI: limit, middleware, fastapi

Как бы вы реализовали ограничение скорости в FastAPI?

Вопрос рассматривает реализацию ограничения частоты запросов в FastAPI.

Короткий ответ

Rate limiting в FastAPI можно реализовать с помощью middleware, таких как SlowAPI, на основе IP-адресов или других ключей.

Длинный ответ

FastAPI не предоставляет встроенной функциональности для ограничения запросов, но сторонние библиотеки, такие как SlowAPI, позволяют:

  • Настраивать лимиты: Задавать ограничения на количество запросов в зависимости от IP или токенов.

  • Использовать middleware: Подключение SlowAPI через middleware.

  • Обрабатывать превышения: Определять обработчики для сообщений об ошибках.

Пример:

from slowapi import Limiter
from slowapi.util import get_remote_address
from fastapi import FastAPI

limiter = Limiter(key_func=get_remote_address)
app = FastAPI()
app.state.limiter = limiter

@app.get("/items/", dependencies=[Depends(limiter.limit("10/minute"))])
async def get_items():
    	return {"message": "Success"}

Когда использовать:

  • Для предотвращения DDoS-атак или ограничения использования API.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    7

Навыки

  • FastAPI

    FastAPI

Ключевые слова

#limit

#middleware

#fastapi

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.