Наприклад, один зі способів використання специфікації OAuth2 (так званий "password flow") вимагає надсилати username та password як поля форми.
spec вимагає, щоб ці поля мали точні назви username і password та надсилалися у вигляді полів форми, а не JSON.
З Form Ви можете оголошувати ті ж конфігурації, що і з Body (та Query, Path, Cookie), включаючи валідацію, приклади, псевдоніми (наприклад, user-name замість username) тощо.
Інформація
Form — це клас, який безпосередньо наслідується від Body.
Порада
Щоб оголосити тіло форми, потрібно явно використовувати Form, оскільки без нього параметри будуть інтерпретуватися як параметри запиту або тіла (JSON).
Ви можете оголосити кілька параметрів Form в операції шляху, але не можете одночасно оголосити поля Body, які Ви очікуєте отримати у форматі JSON, оскільки тіло запиту буде закодовано у форматі application/x-www-form-urlencoded, а не application/json.
Це не обмеження FastAPI, а частина HTTP-протоколу.