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

Параметр lt

Параметр lt применяется в функциях Path, Query, Body, Header, Cookie и Form. Он задаёт верхнюю границу для числового значения: принимаемое значение должно быть строго меньше числа, переданного в lt. Если значение больше или равно границе, FastAPI возвращает ошибку валидации 422. Параметр работает совместно с типами int и float.

Синтаксис

from fastapi import FastAPI, Path, Query app = FastAPI() @app.get('/items/{item_id}') def read_item(item_id: int = Path(lt=100)): return {'item_id': item_id}

Пример

Давайте примем число из пути и ограничим его сверху значением 100:

from fastapi import FastAPI, Path app = FastAPI() @app.get('/items/{item_id}') def read_item(item_id: int = Path(lt=100)): return {'item_id': item_id}

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

{"item_id": 50}

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

{"detail": [{"type": "less_than", "loc": ["path", "item_id"], "msg": "Input should be less than 100", "input": 100, "ctx": {"lt": 100}}]}

Пример

Давайте ограничим значение query-параметра price числом 1000:

<+python+> from fastapi import FastAPI, Query app = FastAPI() @app.get('/products') def read_products(price: float = Query(lt=1000)): return {'price': price} <-python+>

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

{"price": 999.99}

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

{"detail": [{"type": "less_than", "loc": ["query", "price"], "msg": "Input should be less than 1000", "input": 1000, "ctx": {"lt": 1000}}]}

Пример

Давайте ограничим поле модели Pydantic с помощью lt:

from fastapi import FastAPI from pydantic import BaseModel, Field app = FastAPI() class Item(BaseModel): name: str quantity: int = Field(lt=10) @app.post('/items') def create_item(item: Item): return item

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

{"name": "abcde", "quantity": 5}

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

{"detail": [{"type": "less_than", "loc": ["body", "quantity"], "msg": "Input should be less than 10", "input": 10, "ctx": {"lt": 10}}]}

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

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