Например, в одном из способов использования спецификации OAuth2 (называемом "потоком пароля") требуется отправить username и password в виде полей формы.
Данный способ требует отправку данных для авторизации посредством формы (а не JSON) и обязательного наличия в форме строго именованных полей username и password.
Вы можете настроить Form точно так же, как настраиваете и Body ( Query, Path, Cookie), включая валидации, примеры, псевдонимы (например, user-name вместо username) и т.д.
Дополнительная информация
Form - это класс, который наследуется непосредственно от Body.
Подсказка
Вам необходимо явно указывать параметр Form при объявлении каждого поля, иначе поля будут интерпретироваться как параметры запроса или параметры тела (JSON).
Вы можете объявлять несколько параметров Form в операции пути, но вы не можете одновременно с этим объявлять поля Body, которые вы ожидаете получить в виде JSON, так как запрос будет иметь тело, закодированное с использованием application/x-www-form-urlencoded, а не application/json.
Это не ограничение FastAPI, это часть протокола HTTP.