РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
86 of 307 menu

Параметр le

Параметр le применяется в функциях Path, Query, Body и других для ограничения числового значения сверху. Он указывает, что число должно быть меньше или равно заданной границе. Если клиент передаст значение больше, FastAPI вернёт ошибку валидации 422.

Синтаксис

from fastapi import Path, Query, Body le=value

Пример

Давайте ограничим параметр пути age значением не больше 100:

from fastapi import FastAPI, Path app = FastAPI() @app.get('/user/{age}') def user(age: int = Path(le=100)): return {'age': age}

Результат выполнения кода для адреса /user/50:

{"age": 50}

Если же передать значение больше границы, например /user/150, FastAPI вернёт ошибку:

{"detail": [{"type": "less_than_equal", "loc": ["path", "age"], "msg": "Input should be less than or equal to 100", "input": 150, "ctx": {"le": 100}}]}

Пример

Давайте применим le вместе с ge, чтобы задать диапазон для query-параметра price:

from fastapi import FastAPI, Query app = FastAPI() @app.get('/items/') def items(price: int = Query(ge=100, le=1000)): return {'price': price}

Результат выполнения кода для адреса /items/?price=500:

{"price": 500}

Если передать /items/?price=2000, валидация не пройдёт:

{"detail": [{"type": "less_than_equal", "loc": ["query", "price"], "msg": "Input should be less than or equal to 1000", "input": 2000, "ctx": {"le": 1000}}]}

Пример

Давайте применим le к полю модели Pydantic через Body:

<+python+> from fastapi import FastAPI, Body app = FastAPI() @app.post('/products/') def create_product(quantity: int = Body(le=10)): return {'quantity': quantity} <-python+>

Результат выполнения кода для тела запроса {"quantity": 5}:

{"quantity": 5}

Если передать {"quantity": 20}, FastAPI вернёт ошибку валидации:

{"detail": [{"type": "less_than_equal", "loc": ["body", "quantity"], "msg": "Input should be less than or equal to 10", "input": 20, "ctx": {"le": 10}}]}

Смотрите также

  • параметр ge,
    который задаёт нижнюю границу значения (больше или равно)
  • параметр lt,
    который задаёт строгую верхнюю границу значения (меньше)
  • параметр gt,
    который задаёт строгую нижнюю границу значения (больше)
  • класс Path,
    который позволяет добавлять валидацию к параметрам пути
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить