как я могу добавить токен в http получить запрос на остальные API - PullRequest
0 голосов
/ 09 ноября 2018
export class ProfileService {
    public apiUrl:string='http://xyz/api';

    constructor(private http: HttpClient, private reqHeaders:HttpHeaders) {}

    public getProfile(): Observable<any>
    { 

        var reqHeader = new HttpHeaders({
           'Content-Type':'application/json',
           'Authorization':JSON.parse(localStorage.getItem('token'))
        })
        return this.http.get(this.apiUrl + '/info.json',{reqHeaders}).map(
            (data)=>console.log(data)

        )
    }

1 Ответ

0 голосов
/ 09 ноября 2018

Вместо наименования вашего объекта reqHeaders просто назовите его headers, тогда он должен работать нормально. Взгляните на get определение:

get<T>(url: string, options?: {
    headers?: HttpHeaders | {
        [header: string]: string | string[];
    };
    observe?: 'body';
    params?: HttpParams | {
        [param: string]: string | string[];
    };
    reportProgress?: boolean;
    responseType?: 'json';
    withCredentials?: boolean;
}): Observable<T>;

Вы также можете использовать HttpInterceptors для добавления аутентификации в ваши запросы ( more # 1 , more # 2 ).

Кстати, вам не нужно устанавливать Content-Type на application/json, потому что это по умолчанию.

Кстати, # 2, ваш заголовок неверен, потому что вы спрашиваете об Angular, а не об AngularJS.

...