Я ищу руководство по передовым методам, когда дело доходит до возврата ошибок из REST API. Я работаю над новым API, поэтому я могу использовать его в любом направлении прямо сейчас. В настоящее время мой тип контента - XML, но в будущем я планирую поддерживать JSON.
Сейчас я добавляю несколько случаев ошибок, например, клиент пытается добавить новый ресурс, но превысил свою квоту хранилища. Я уже обрабатываю определенные случаи ошибок с кодами состояния HTTP (401 для аутентификации, 403 для авторизации и 404 для простых неверных URI запросов). Я просмотрел благословенные коды ошибок HTTP, но ни один из диапазонов 400-417, похоже, не подходит для сообщения об ошибках приложения. Поэтому сначала я хотел вернуть ошибку моего приложения с 200 OK и определенной полезной нагрузкой XML (т.е. заплатите нам больше, и вы получите необходимое хранилище!), Но я перестал думать об этом, и это кажется мыльным (/ пожимает плечами в ужасе). Кроме того, мне кажется, что я делю ответы об ошибках на отдельные случаи, так как некоторые из них управляются кодом состояния http, а другие - содержимым.
Так, каковы отраслевые рекомендации? Хорошая практика (пожалуйста, объясните почему!), А также, от клиента, что обработка ошибок в REST API облегчает жизнь клиентскому коду?