Я вызываю какую-то операцию через вызов REST, например. сырец пароль против сохраненного матча хэша:Операции REST и коды состояния
POST /v1/user/:id/password/verification HTTP/1.1
{"password": "correct staple battery horse"}
Вопрос заключается в том, должен я использую коды состояния для явного указания результата операции? С одной стороны, REST означает работу с ресурсами, поэтому я создаю ресурс «операция проверки пароля», которая может быть неудачной. С другой стороны, этот ресурс был создан в любом случае - это просто операция, которая потерпела неудачу, и нет абсолютно правильного кода состояния для отказа операции маркировки - 404 означает, что вообще не было никакой операции (это ложь) или что пароль не существует (и «предоставленный пароль не соответствует сохраненному хешу» с «сохраненным хешем не существует» - это совершенно разные результаты), 403 также неверно, потому что для этой операции фактически был предоставлен доступ.
Итак, следует ли использовать коды состояния для операций с двоичным выходом (true/false), или я должен просто придерживаться результата передачи возвращаемой полезной нагрузки?