Я делал это много раз (и видел, как это делают многие люди), но я начинаю задаваться вопросом, подходит ли это:
if @record.save
# status 200
else
# failure of validations => status 422
end
Теперь я вижу, что 422 unprocessable entity
означает, что запрос был корректным, но не семантически правильным. Как я понял, ошибка проверки не может быть семантической ошибкой.
Примечание: Я говорю о проверках уникальности, поэтому я не уверен, что это квалифицируется как ошибка пользователя, как в этом вопросе: Какой подходящий код состояния HTTP для возврата службой API REST для отказа проверки?
Подводя итог: следует ли прекратить использование статуса 422? Если да, то что я должен использовать вместо этого?