//In services.ts
import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions } from '@angular/http';
import 'rxjs/Rx';
@Injectable()
export class DataService {
constructor(private http: Http) { }
fetch(){
return this.http.get('json-object-link').map(
(res) => res.json()
)
}
}
//In component
ngOnInit() {
this.dataService.fetch()
.subscribe(
(data) => this.ninjas = data
);
}
Je veux ajouter l'en-tête suivant à cette demande:
"en-têtes":
{
"content-type": "application/json",
"access_token": "abcd"
}
@Injectable()
export class UserService {
constructor (private http:HttpClient) {}
getUserByName(username: string) {
let url="http://localhost:8088/rest/user/userName";
let header=new Headers({'Content-Type': 'application/json', 'Authorization':
'Bearer '+localStorage.getItem("access_token")});
return this.http.post(url, username, {headers: header});
}
}
Essaye ça
let headers = new Headers({ "content-type": "application/json", });
headers.append('access_token', "abcd");
let options = new RequestOptions({ headers: headers });
this.http
.post(url, data, options)
Vous pouvez
let headers = new HttpHeaders(); headers = headers.set(...); headers = headers.set(...); headers = headers.set(...);
ou
let headers = new HttpHeaders().set(...)
.set(...)
.set(...);
référence: problème avec post request http header angular 4
si angulaire 2
let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('authentication', `${student.token}`);
let options = new RequestOptions({ headers: headers });
return this.http
.put(url, JSON.stringify(student), options)