Interceptor Angular 4.3 - Définir plusieurs en-têtes sur la demande clonée
Je viens de remarquer que le L'En-Tête De L'Objet qui était possible de l'utiliser dans la précédente HTTP RequestsOption n'est plus pris en charge dans le nouveau chasseur.
C'est le nouveau chasseur logique:
//Get the auth header from the service.
const authHeader = this.auth.getAuthorizationHeader();
//Clone the request to add the new header.
const authReq = req.clone({headers: req.headers.set('Authorization', authHeader)});
J'ai, maintenant, deux façons d'ajouter mes en-têtes dans cette demande:
Exemple:
headers?: HttpHeaders;
headers: req.headers.set('token1', 'asd')
setHeaders?: {
[name: string]: string | string[];
};
setHeaders: {
'token1': 'asd',
'token2': 'lol'
}
Comment puis-je ajouter des en-têtes multiples conditionnellement sur cette demande?
Même à ce que j'ai l'habitude de faire avec les en-Tête de l'Objet:
myLovellyHeaders(headers: Headers) {
headers.set('token1', 'asd');
headers.set('token2', 'lol');
if (localStorage.getItem('token1')) {
headers.set('token3', 'gosh');
}
}
const headers = new Headers();
this.myLovellyHeaders(headers);
source d'informationauteur 39ro
Vous devez vous connecter pour publier un commentaire.
Le nouveau client HTTP travaille avec immuables en-têtes de l'objet. Vous avez besoin de stocker une référence à la précédente en-têtes de la mutation de l'objet:
Voir Pourquoi HttpParams ne fonctionne pas en multi-angulaire 4.3 à comprendre pourquoi vous avez besoin pour stocker la référence à la valeur retournée.
C'est la même chose pour les en-têtes:
Pour en savoir plus sur la mécanique derrière les intercepteurs de lire:
Angulaire 4.3+
Ensemble multi-têtes en l'Intercepteur:
Mon code a travaillé avec l'approche suivante pour ajouter des en-têtes multiples:
À ajouter à l'en-tête existant d'un clone demande (comme dans un HTTP Interceptor), le code ci-dessous fonctionne (en utilisant Angulaire 5.x). Dans le cas ci-dessous, il est ajouté à l'en-tête existant (qui dans mon cas XSRF-JETON de cookie incluse automatiquement par Angulaire) avec un JWT jeton d'Autorisation stockées dans sessionStorage: