Я пытаюсь перенести свой угловой проект из HttpModule в HttpClientModule , но у меня возникают проблемы с запросом заголовка, поэтому я много раз думал, что понимаю, что здесь происходит , Итак, что я хочу сделать в данный момент, это постепенно перемещаться к HttpClient, это означает, что я не использую HttpInterceptor , и я пытаюсь использовать идею из HttpModule, где мы можем использовать RequestOptions в запросе http (this.http.get(url, requestOptions)
). Из того, что я читал о HttpInterceptor , я подумал, что мог бы использовать HttpRequest в качестве параметров в http клиентском запросе . Вот как я строю свой метод.
get(url:string, options: HttpRequest<any>): Observable<HttpRequest<any>> {
return this.httpClient.get(url, this.getHeader(options));
}
getHeader(options: HttpRequests<any>): HttpRequests<any> {
let headers = new HttpHeaders();
if(options && options.headers && option.headers instanceOf HttpHeaders) {
headers = options.headers;
}
headers.append('authorization': 'abc');
let params: new HttpParams().set('id', this.id);
let headerOptions = {
params: params,
headers: headers,
withCredential: true,
}
Object.keys(options).forEach(key => {
if ( !(key===params && key===headers && key===withCredential) ) {
headersOption[key] = options[key];
}
});
return headersOption as HttpRequest;
}
В коде Visual Studio он жалуется на то, что тип заголовка не совпадает с типом передаваемых параметров. Так есть ли другой способ сделать это, чтобы включить эти параметры в мой запрос заголовка?