У меня есть приложение, которое отправляет сообщения пользователям. В почтовом запросе переносится строка XML, которая состоит из всех пользователей, которые должны получать это конкретное сообщение. Если ни один из пользователей в списке не существует, я даю список отсутствующих пользователей обратно клиенту для дальнейшей оценки.
Теперь я спрашиваю себя, что будет правильным кодом состояния приложения, заявив, что запрос был принят, но были вещи, которые невозможно было сделать.
Проблему можно было бы избежать, если бы не было разрешено включать отсутствующих пользователей в список. Тогда попытка отправки просто получит ошибку 4xx. Но нет смысла создавать API таким образом. С другой стороны, я мог бы считать условие ошибки чисто специфичным для приложения. Но отправка 200 просто не кажется правильным. И было бы неплохо дать клиенту подсказку, когда нужно глубоко заглянуть в ответ об ошибке. например чтобы не отправлять сообщения этим пользователям снова и снова