Я пытаюсь установить заголовки по умолчанию для моих запросов HTTP, используя класс DefaultRequestOptions предоставленного угловыми 2. Документация может быть найден здесь: https://angular.io/docs/ts/latest/guide/server-communication.html#!#override-default-request-optionsошибка циклической зависимости при импорте службы в другую службу
Я хочу добавить по умолчанию податель маркер, который получает в одном из своих услуг, но при этом дает мне следующую ошибку в моем браузере консоли:
Unhandled Promise отказ: ошибки поставщика синтаксического анализа: Невозможно создать циклическую зависимость! Http: в NgModule AppModule в ./AppModule; Зона: ; Задача: Promise.then; Значение:
Вот мои по умолчанию-Request-options.service.ts файл:
import { Injectable } from '@angular/core';
import { BaseRequestOptions, RequestOptions } from '@angular/http';
import { UserService } from './user.service';
@Injectable()
export class DefaultRequestOptions extends BaseRequestOptions {
constructor(private userService: UserService) {
super();
// Set the default 'Content-Type' header
this.headers.set('Content-Type', 'application/json');
this.headers.set('Accept', 'application/json');
this.headers.set('Authorization', 'Bearer ' + this.userService.idToken);
}
}
export const requestOptionsProvider = { provide: RequestOptions, useClass: DefaultRequestOptions };
Вот соответствующий код в моем app.module.ts файл:
import { requestOptionsProvider } from './default-request-options.service';
import { UserService } from './user.service';
@NgModule({
imports: [
...
],
declarations: [
...
],
providers: [
...
requestOptionsProvider,
UserService
],
bootstrap: [ AppComponent ]
})
Что я делаю неправильно?
http://stackoverflow.com/questions/40860202/di-with-cyclic-dependency-with-custom-http-and-configservice/40860233#40860233, http://stackoverflow.com/questions/41225627/custom -service-in-extended-http-not-getting-injected/41226493 # 41226493, http://stackoverflow.com/questions/39286983/how-to-override-http-class-in-rc6/39287030#39287030 –
I столкнулись с той же проблемой. Вы нашли решение? –