web-dev-qa-db-fra.com

Ajout d'en-têtes http dans Angular 6

Quelqu'un peut-il me dire s'il s'agit de la bonne façon d'ajouter des en-têtes aux demandes HTTP dans Angular 6?

Lorsque je passe un appel via SwaggerUI, je peux voir que les en-têtes doivent être:

url -X GET --header 'Accept: application/json' --header 'zumo-api-version: 2.0.0' 'https://myurl/tables/stuff'

alors j'ai ajouté ce qui suit:

let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('HttpHeader1', 'Accept:application/json');
headers = headers.append('HttpHeader2', 'zumo-api-version:2.0.0');

Et puis l'appel:

getStuff(){
    return this.http.get('https://myurl/tables/stuff', {headers})
  }

Il n'y a pas d'échec mais rien n'est retourné et je sais qu'il devrait y en avoir.

merci

METTRE À JOUR

Je viens de remarquer que l’url de mon appel est en fait https et non http, cela ferait-il une différence?

getStuff(){
        return this.https.get('https://myurl/tables/stuff', {headers})
      }
3
DarkW1nter

La manière correcte de définir headers est

let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('Accept', 'application/json');
headers = headers.append('zumo-api-version', '2.0.0');
7
Sajeetharan

Format angulaire 6:

let headers = new HttpHeaders({
    'Accept': 'application/json',
    'zumo-api-version': '2.0.0'
});
3
Ayoub k

Le format correct pour définir les en-têtes serait comme indiqué ci-dessous. 

let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('Accept', 'application/json');
headers = headers.append('zumo-api-version', '2.0.0');

url -X GET --header 'Accept: application/json' --header 'zumo-api-version: 2.0.0' 'https://myurl/tables/stuff'

Dans la requête ci-dessus, le nom des clés d’en-tête est Accept & zumo-api-version, le texte précédant le :.
Les en-têtes sont essentiellement définis sous forme de paires clé/valeur

1
Ivix4u

Vous n'obtenez rien en retour car vous ne vous abonnez pas à cet événement. ajoutez .subcribe à cette fonction où que vous l'appeliez eg 

getStuff().subscribe(data=>{ console.log(data); } )

donc, le data auquel vous vous abonnez contient toutes les réponses et tout ce que vous devez savoir sur cet appel.

Vous pouvez en lire plus ici https://angular.io/guide/http

0
Jay

Je l'ai fait comme ça dans mon code

httpOptions={ headers: new HttpHeaders({ 'Content-Type': 'application/json'})};
 this.httpOptions.headers = this.httpOptions.headers.append('Token', this.Token);

Et puis dans mon appel http.get, j'ai fait ceci:

return this.http.get<JSON>(this.API_ADDRESS+'/api/RemoveEmployee/'+id,this.httpOptions
0
faizan shafiq