Должны ли ошибки и сбой быть в ответе службы? - PullRequest
0 голосов
/ 12 апреля 2019

Я смотрю на соглашения о написании ответов 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 неудачных пользователя для внешнего интерфейса для повторной отправки ..]

...