Я не очень доволен возвращением 409 Conflict
для существующего зарегистрированного электронного письма - на мой взгляд, это не ошибка клиента.Итак, давайте посмотрим, как некоторые крупные технологические компании справляются с этим делом (по крайней мере, как они делают это в своих API-интерфейсах веб-сайтов).* и объект JSON, содержащий код, который указывает, что электронная почта уже зарегистрирована.
Facebook также возвращает 200 OK
, но повторно отображает содержимое на странице восстановления, чтобы дать пользователю возможность восстановить свою существующую учетную запись.
Twitter проверяет существующую электронную почту с помощью вызова AJAX на другой ресурс.Ответ ресурса проверки электронной почты всегда равен 200 OK
.Ответ содержит объект JSON, содержащий флаг, чтобы указать, зарегистрирован ли адрес электронной почты или нет.
Amazon делает это так же, как Facebook.Возврат 200 OK
и повторное отображение содержимого на странице уведомлений, чтобы проинформировать пользователя о том, что учетная запись уже существует, и предоставить ему / ей возможность предпринять дальнейшие действия, такие как изменение логина или пароля.
Таким образом, все эти API-интерфейсы всегда возвращают 200 OK
и представляют клиенту / пользователю либо дополнительный контент для восстановления своей учетной записи, либо сообщение об ошибке, которое возникает в теле содержимого ответа.