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