Маршрут, реализованный через FastAPI (фрагмент кода ниже), работает нормально.
@app.post(path='/user/create/') async def create_user(ответ: Response, электронная почта: ул = Форма(), пароль: str = Form()) -> Нет: """ Создайте нового пользователя с этим маршрутом. Возможные ответы: 201: Создан новый пользователь 400: указан неправильный адрес электронной почты. 409: Пользователь уже зарегистрировался, что приводит к конфликту с существующим идентификатором. """ logging.info(msg=f'Запрос на регистрацию нового пользователя от {email}.') пытаться: пользователь: WebUser = WebUser(электронная почта=электронная почта, пароль=пароль) # Либо 409, либо 201 response.status_code = [CONFLICT, CREATED][await user.create_new()] кроме ValidationError: регистрация.ошибка( msg=f'Создание пользователя для {email} не удалось из-за неправильного запроса.') response.status_code = BAD_REQUEST # 400 Но документация по Swagger FastAPI показывает неправильные (фактически совершенно случайные) ответы. Вот скриншот.

Итак, он не показывает 409 и 400, но каким-то образом показывает 422 как возможный ответ. Кроме того, успешный ответ на самом деле – 201.
Так как же FastAPI формирует эту документацию «за кулисами», и делаю ли я что-то не так, чтобы ввести его в заблуждение? Или это ошибка FastAPI?