Die Interpektoren für die eckigen HTTP-Anfragen werden in app/blocks/interceptor gespeichert. Dort gibt es eine Datei notification.interceptor.js
und es gibt keinen Filter für die Entitäten genannt werden angezeigt, so müssen wir es in irgendeiner Weise konfigurieren:
(function() {
'use strict';
angular
.module('myApp')
.factory('notificationInterceptor', notificationInterceptor);
notificationInterceptor.$inject = ['$q', 'AlertService'];
function notificationInterceptor ($q, AlertService) {
var service = {
response: response
};
return service;
function response (response) {
var headers = Object.keys(response.headers()).filter(function (header) {
return header.indexOf('app-alert', header.length - 'app-alert'.length) !== -1 || header.indexOf('app-params', header.length - 'app-params'.length) !== -1;
}).sort();
var alertKey = response.headers(headers[0]);
if (angular.isString(alertKey) && alertKey.indexOf('myEntityToBeDisplayed') !== -1) {
AlertService.success(alertKey, { param : response.headers(headers[1])});
}
return response;
}
}
})();
Wenn dann wollen wir auch Warnungen zeigen oder die Fehlerreaktionen aus dem Protokoll Server, der errorhandler.interceptor.js
abfängt jede der Fehler Antworten passiert. Tuning es ein wenig, gibt es die Möglichkeit, Benachrichtigungen zu zeigen, für alle von ihnen:
(function() {
'use strict';
angular
.module('myApp')
.factory('errorHandlerInterceptor', errorHandlerInterceptor);
errorHandlerInterceptor.$inject = ['$q', '$rootScope'];
function errorHandlerInterceptor ($q, $rootScope) {
var service = {
responseError: responseError
};
return service;
function responseError (response) {
if (!(response.status === 401)) {
$rootScope.$emit('myApp.httpError', response);
}
return $q.reject(response);
}
}
})();
Siehe auch: