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