我试图通过REST框架从Django后端获取数据。我正在使用Angular 2和HttpClient& HttpClientModule模块,并将我的代码基于使用Http模块的先前(工作)项目。当我运行我的代码时,我收到一条错误消息,指出"键入'对象'不能分配给任何[]'类型。 '对象' type可以分配给很少的其他类型。你的意思是使用' any'改为输入?"。我是Angular的新手(这只是我写过的第二个服务,第一个是HttpClient服务),我不知道如何解决这个问题。我已经查看了几个类似的问题,包括this one和this one,但我不确定如何将答案推广回服务而不是组件。
我的代码在这里:
import { Injectable } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { HttpClient } from '@angular/common/http';
import 'rxjs/add/operator/toPromise';
@Injectable()
export class FacultyService {
private apiURL = 'http://localhost:8000/api/faculty';
constructor(private http: HttpClient) { }
getFaculty() {
return this.http.get(this.apiURL)
.toPromise()
.catch(this.handleError);
}
private handleError(error: any) {
console.error('An error occured', error);
return Promise.reject(error.message || error);
}
}