Histórico da Página
...
Observação: Devido a padronização do retorno das requisições é possível identificar quando a requisição retorno alguma notificação ou mensagem sendo possível exibi-la automaticamente ao usuário, eximindo o desenvolvedor de ter que trata-la manualmente.
Definição
A implementação da transformação de resposta consistem em sobrescrever a função transformResponse do $httpProvider do AngularJS. Ao sobrescrever esta função temos a possibilidade de manipular o resultado de todas as requisições HTTP e realizar diversos tratamentos como a exibição das notificações ou mensagens e de realizar o tratamento de uma resposta customizada antes de disparar o evento de sucesso da requisição.
...
| Bloco de código | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
appHTTPConfig.$inject = ['$httpProvider'];
function appHTTPConfig($httpProvider) {
$httpProvider.defaults.transformResponse = function (data, headers) {
// Todas as requisições que não retornem o resultado no padrão JSON
// devem ser desconsideradas. Outros tipos de protocolos devem ser
// tratados separadamente.
if (headers('content-type') != "application/json") return data;
// Realiza o parser do resultado para um objeto do tipo JSON;
var decodeddata = $("<div/>").html(data).text();
var obj = angular.fromJson(decodeddata);
// Verifica se o objeto possui um atributo do tipo messages para tratamento
// automático de mensagens e notificações através de eventos.
if (obj.hasOwnProperty('messages')) {
...
}
// Verificar se o objeto possui a estrutura padrão do Return implementada
// pelo servidor para realização do tratamento de equivalência do objeto Return a
// o padrão das chamadas REST.
if (obj.hasOwnProperty('data')
&& obj.hasOwnProperty('length')
&& obj.hasOwnProperty('messages')) {
...
}
// Quando não se tratar de um objeto do tipo Return na requisição retornar o objeto completo.
return obj;
};
// Adiciona o appHTTPInterceptors ao HTTP Provider.
$httpProvider.interceptors.push('appHTTPInterceptors');
}
// Registra a configuração HTTP customizadas para o App.
index.config(appHTTPConfig); |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas