mailchimp, как обрабатывать ошибки API - PullRequest
0 голосов
/ 14 ноября 2018

Существует ли общепринятый способ анализа ошибок результата mailchimp API и их отображения пользователю?

Существует множество форм, в которых ошибки возвращаются, и, если не считать гигантского многоуровневого набора случаев if-then, трудно определить, какой текст отображать.

Например, для ошибки 400 в настоящее время отображаются 4 подтипа:

  • BadRequest
  • InvalidAction
  • InvalidResource
  • JSONParseError

Что касается последнего, то, вероятно, это никогда не должно происходить с правильно написанным кодом. Но для остальных трех, что вы показываете? Похоже, вы должны отобразить поле «detail» для первых двух, а для третьего вы должны отобразить поле «message» в массиве «errors». Примерно так:

if (error == 400)
  if (type == "BadRequest" || type == "InvalidAction")
    display message // from the JSON results
  else if (type == "InvalidResource")
    for (error in errors)
      display error.field, error.message
  else // JSONParseError
    log something
else if (error == 401)
  ...

Очевидно, что это не очень хороший способ сообщить об ошибках, так как он длинный и хрупкий. Как правильно?

...