Мой клиент запрашивает мой сервер. Если ответ отрицательный (например, ошибка), как мне сообщить об этом? - PullRequest
0 голосов
/ 19 сентября 2010

Стоит ли полагаться на коды состояния http?Или я должен использовать какой-то особый ответ?Мой сервер работает на PHP и выдает простые ответы в формате JSON.

Ответы [ 2 ]

1 голос
/ 19 сентября 2010

Может быть лучше, если вы можете использовать сущность с двумя свойствами: Status & Message.

Вы наследуете свою сущность результата запроса от вышеуказанной сущности .

Если операция прошла успешно, установите Status to True, в противном случае установите Status to False и установите соответствующий error message into the Message property of above entity.

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

Итак, if Status=True, тогда только клиент можетдалее обработайте сообщение (например, доступ к свойствам или их отображение и т. д.), else if Status=False, затем отобразится текст ошибки, установленный в логике доступа к данным, в свойство Message.

1 голос
/ 19 сентября 2010

Я бы лично сказал, что вы должны сделать оба!Верните соответствующий код состояния 4xx / 5xx, чтобы показать, что что-то пошло не так, и включите сообщение в свой ответ JSON.

Например, для успешного запроса:

{
  "success": "true"
}

И для сбоя (например, метод 405не допускается):

{
  "success": "false",
  "message": "Requested data not available"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...