Я смотрю на соглашения о написании ответов JSON от веб-сервисов. Вот удивительный вопрос: Стандартный формат ответа JSON API?
Глядя на приведенный выше вопрос, мне больше всего нравится https://github.com/omniti-labs/jsend. Это просто и легко понять. Он основан на идее, что каждый вызов возвращается с status
со значением одной из трех вещей: success
, fail
и error
.
На мой взгляд, fail
и error
из jsend
могут быть одним и тем же. В обоих случаях что-то не так, и пользователь / кодер должен что-то исправить. Но я подумал о том, чтобы приспособить эту идею к чему-то вроде этого:
success
Все прошло хорошо, пользователь может продолжить.
warning
Что-то пошло не так, но пользователь все равно может продолжить.
error
Что-то пошло не так, и пользователь не может продолжить.
Но действительно ли warning
необходимо? Когда warning
будет иметь больше смысла, чем error
?
Допустим, вы отправили 5 новых клиентов, 3 успешно и 2 не удалось. Это warning
или error
? На мой взгляд это error
. Что-то пошло не так, и клиенту необходимо повторно отправить 2 неудачных пользователей. Вы не можете просто продолжить приложение и сообщить пользователю We 3 succeeded and 2 failed
, что теперь должен делать пользователь?
Примечание: в моем ответе всегда есть status
, message
и data
. Таким образом, вы можете ответить на вышеуказанную проблему с помощью:
статус: «ошибка»,
сообщение: «3 пользователя преуспели, 2 провалились»,
данные: [.. 2 неудачных пользователя для внешнего интерфейса для повторной отправки ..]