Это немного сложно, потому что я думаю, что вы можете сделать аргумент для любого из них, и я также чувствую, что 409
и 422
можно утверждать.
В конечном счете, я думаю, что важно использовать более укажите c код состояния HTTP, если клиент generi c может сделать что-то полезное с ответом. Из-за этого, я думаю, в данном случае это не имеет большого значения.
Я думаю, я бы соблазнился , а не использовать 401, потому что я связываю это близко к заголовку Authorization
и вы, вероятно, не используете его в этом случае.
422
или 400
являются лучшими. Это полностью основано на мнении. Любой из них указывает на то, что с запросом что-то не так (422
чуть более конкретно c: с форматом все в порядке, но с фактическими значениями, отправленными на сервер, что-то не так).
409
иногда используется для указания того, что текущий запрос действителен, но текущее состояние сервера препятствует его успешному выполнению. Учитывая, что текущее состояние сервера «текущий пароль был чем-то другим», 409
может быть уместным.
В конечном счете, я не думаю, что действительно неверно, и это не действительно важно, но мой голос сначала будет go до 422
, а затем 400
.
Некоторые источники (первые - мои, последняя ссылка принадлежит одному из авторов) спецификации http)