В моем приложении angular один из компонентов вызывает метод из сервисного модуля (app.service.ts), который использует модуль 'HttpClient' для вызова остальных API с помощью basi c auth ('username': «пароль»), я использовал модуль «HttpHeaders» для установки заголовков, как показано ниже:
export class ApiService {
constructor(private httpClient: HttpClient,private httpHeaders: HttpHeaders) {
this.httpHeaders.set('Authorization','Basic ' + btoa('usename1:password1'));
this.httpHeaders.append('Content-Type','application/json');
}
public getApiData(url:any){
return this.httpClient.get(url,{headers:this.httpHeaders});
}
}
возникает ошибка внедрения c, как показано ниже:
StaticInjectorError [ NesinfoComponent -> ApiService]: StaticInjectorError (AppModule) [ApiService -> HttpHeaders]: StaticInjectorError (Платформа: ядро) [ApiService -> HttpHeaders]: NullInjectorError: Нет поставщика для HttpHeaders! * 100 * * * * * «HttpHeaders» в app.modules.ts и добавил его в раздел импорта:
import { HttpClientModule,HttpHeaders } from '@angular/common/http';
imports: [
HttpClientModule,
HttpHeaders
]
теперь инъекция stati c разрешена, но выдает ошибку:
Неожиданное значение «HttpHeaders», импортированное модулем «AppModule». Пожалуйста, добавьте аннотацию @NgModule.
как вызвать остальные API в angular8, для которых требуется базовый c auth в заголовках?