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})
}
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');
Winkel-6-Format:
let headers = new HttpHeaders({
'Accept': 'application/json',
'zumo-api-version': '2.0.0'
});
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
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
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});
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