Worklight - не распространять информацию об ошибках клиенту
Я хотел бы знать, есть ли в IBM Worklight встроенная поддержка для предотвращения передачи подробностей об ошибках клиенту в ответе. Чтобы проиллюстрировать это, давайте предположим, что при обработке запроса по какой-то причине что-то пошло не так, и сервер отвечает на это телом, похожим на:
{"errors":["Some exception/error details go here..."],"isSuccessful":false,"warnings":[],"info":[]}
Тем не менее, я не хочу, чтобы потребитель знал о таких деталях, и при этом не завышал мой ответ. Предоставляет ли IBM Worklight какой-либо способ изменить такое поведение и, например, отправить массив ошибок пустым или, по крайней мере, преобразовать его перед отправкой ответа клиенту?
1 ответ
Сервер Worklight отвечает на запросы от клиента. В зависимости от случая это может быть действительный ответ на запрос или сообщение об ошибке, если что-то пошло не по плану. Обратите внимание, что в этом случае поток ответа поступает в обратный вызов сбоя слушателя.
Сообщение об ошибке передается обратно в формате, понятном разработчику, чтобы он мог учесть их и предпринять корректирующие действия. Это сообщение предназначено не для конечного пользователя, а для разработчика. В случае, если сообщение является слишком описательным (или слишком техническим), оно оставляется на усмотрение разработчика, чтобы показать общее или правильное сообщение.
Например, вместо "Было сгенерировано исключение из-за неправильного входного параметра" конечный пользователь может быть представлен как "Пожалуйста, проверьте ваш ввод...".
В случае, если ошибка возникает из-за адаптера - когда адаптер получает ошибку от бэкэнда, ее можно проверить и изменить на адаптере, прежде чем передать обратно клиенту. Точно так же, если ошибки от исключений в адаптере могут быть перехвачены и обработаны, пользовательские ответы могут быть отправлены обратно клиенту.
Если ошибка возникает из-за исключений или других условий, сервер Worklight нельзя настроить на пустой массив ошибок отправки или преобразовать ответ перед отправкой ответа клиенту. Это для разработчика, чтобы справиться на стороне клиента.