Указание типа данных для параметров FastAPI

Кроме того, мы можем указать для параметров пути тот тип данных, который этот параметр будет принимать по умолчанию. Например, для идентификатора мы понимаем, что идентификатор может являться только числом. Для этого мы можем указать здесь тот тип данных, который мы будем принимать в этом значении.

Мы указали, что здесь у нас число. Обратите внимание, что если вы указали здесь число, то далее по коду вы должны это использовать как число. Вы не должны приводить это к строке, как сделано сейчас у меня. Строка при строке приводится к числу, такое быть не может.

Работа с FastAPI документацией

Соответственно, если я теперь обновлю FastAPI документацию, как видите, у меня здесь в документации добавилось, что этот параметр пути является integer типом. Теперь, если я попробую передать здесь какое-то число, мы получим внутреннюю ошибку, что мы пытаемся число привести к строке.

Для того чтобы такой ошибки не было, мы можем просто отпринтить наше значение и убрать его с этого параметра пути. Теперь у нас integer остается. Пробуем выполнить запрос, и у нас вышло значение, все хорошо. В значениях принта мы видим, что у нас вывелось это значение.

Если нам нужно указать какой-то другой тип данных, например строку, то мы указываем, что это строка. Таким образом, можно указать тип данных по умолчанию для нашего аргумента.

Обратите внимание на такой момент: для чего это нужно. Например, здесь мы подразумеваем, что у нас integer, и кто-то попробует передать какую-то строку. Попробуем выполнить запросы, и у нас уже встроена валидация, которая скажет пользователю, что вам нужно передать в качестве аргумента ID целое число, а не строку. Вот такое полезное действие у нас получается.