Существует ли общепринятый способ анализа ошибок результата 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)
...
Очевидно, что это не очень хороший способ сообщить об ошибках, так как он длинный и хрупкий. Как правильно?