webentwicklung-frage-antwort-db.com.de

Hinzufügen von http-Headern in Angular 6

Kann mir jemand sagen, ob dies der richtige Weg ist, um HTTP-Anforderungen in Angular 6 Header hinzuzufügen?

Wenn ich den Anruf über SwaggerUI tätige, kann ich sehen, dass die Kopfzeilen Folgendes sein sollten:

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

also habe ich folgendes hinzugefügt:

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

Und dann der Anruf:

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

Es gibt keinen Fehler, aber es wird nichts zurückgegeben, und ich weiß, dass es einen geben sollte.

vielen Dank

AKTUALISIEREN

Habe gerade bemerkt, dass die URL in meinem Anruf eigentlich https nicht http ist, würde das einen Unterschied machen?

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

Die richtige Methode zum Einstellen von headers ist

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

Winkel-6-Format:

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

Das richtige Format für die Einstellung der -Header wäre wie folgt. 

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'

In der obigen Anfrage lautet der Name der Kopfzeilenschlüssel Accept & zumo-api-version, der Text vor dem :
Header werden grundsätzlich als Schlüssel/Wert-Paare festgelegt

1
Ivix4u

Sie erhalten nichts zurück, weil Sie dieses Ereignis nicht abonnieren. füge .subcribe zu dieser Funktion hinzu, wo immer du sie aufrufst zB 

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

die data, die Sie abonniert haben, enthält alle Antworten und alles, was Sie über diesen Anruf wissen müssen.

Weitere Informationen finden Sie hier https://angular.io/guide/http

0
Jay

In angular 6+

Deklarationszone:

httpOptionsNoAuth : any;

Initialisierung:

constructor(){
    this.httpOptionsNoAuth = {
        headers: new HttpHeaders().set('No-Auth', 'true')
    };
}

Verwendung:

return this._http.get<any>(`${url}`, { headers: this.httpOptionsNoAuth.headers});
0
user1983909

Ich habe es in meinem Code so gemacht

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

Und dann habe ich in meinem http.get-Aufruf Folgendes getan:

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