Я использую плагин maven для генерации angular клиента для сервисов весеннего отдыха.
У меня есть сервис отдыха под названием UserResources. Вот сгенерированный код:
export interface HttpClient {
request<R>(requestConfig: { method: string; url: string; queryParams?: any; data?: any; copyFn?: (data: R) => R; }): RestResponse<R>;
}
export class UserResourcesClient {
constructor(protected httpClient: HttpClient) {
}
...
Я создал реализацию интерфейса HttpClient в отдельном файле:
@Injectable()
export class HttpClientImpl implements HttpClient {
request<R>(
requestConfig: {
method: string;
url: string;
queryParams?: any;
data?: any;
copyFn?: (data: R) => R;
}
): RestResponse<R> {
return null;
}
}
В моем app.module.ts я объявил HttpClientImpl
как провайдер
providers: [
HttpClientImpl
]
Код компилируется, но не работает. Ошибка: Unhandled Promise rejection: Can't resolve all parameters for UserResourcesClient: (?). ; Zone: <root> ; Task: Promise.then ; Value: Error: "Can't resolve all parameters for UserResourcesClient: (?)."
Кажется, что angular не использует HttpClientImpl
, когда есть ссылка на HttpClient
Если вы можете помочь
Спасибо