Ограничение параметров пути с помощью Enum
Иногда нужно дать возможность выбирать в качестве параметра пути только определенные значения. То есть пользователь может в качестве параметра задать только те значения, которые мы зададим. Другие значения должны отклоняться.
Для этого можно воспользоваться enum, который встроен в Python. Соответственно создаем какой-то enum, который называется, например, model. Давайте назовем его даже model_types - типы данных, типы возможных вариантов, которые могут быть применены для этого роута.
У нас есть route.test, у него есть type. Для type мы пишем, что его возможное значение model_types с определенным набором значений, которые мы можем указывать.
Результат использования Enum в FastAPI
Что произойдет в нашем FastAPI, если мы посмотрим теперь этот endpoint? Как вы видите, теперь нельзя указать произвольное значение для type. Его можно только выбрать из предложенных вариантов.
Если пользователь каким-то образом передаст туда другое значение, то соответственно сработает ошибка валидации. Другое значение он передать внутрь функции не сможет. Вот такая полезная функция в FastAPI.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти