我有一个后端服务器,发送JsonNode对象作为RestAPI响应。我在Angular中执行以下HTTP GET请求:
getReports(): Observable<Report[]> {
return this.http.get<Report[]>(`${this.apiServeUrl}/reports`).pipe(
tap(reports => console.log(`Fetched reports`)),
catchError(this.handleError<Report[]>('getReports'))
)
}
问题是,当我执行console.log(reports)
时,它返回一个Object对象数组,这是Postman的结果:
Angular不允许我在执行http.get()
请求时应用map
,因此我发现如果我执行以下操作:
getReports() {
this.reportService.getReports()
.subscribe(reports => {
this.reports = JSON.parse(JSON.stringify(reports))
console.log(this.reports)
})
}
是唯一的方法,我可以获得我的Reports[]
,并做适当的插值在我的网页?
为什么我会收到一个对象,为什么我需要执行该变通方案?
1条答案
按热度按时间oxf4rvwz1#
我认为我们缺少有关对/reports端点的GET请求的信息。可能是您向其发出请求的API返回的结构类型与您期望的报告列表不对应。请与 Postman 核实/reports请求的返回类型,并进行投递,以便我们也获得该信息。