typescript HTTP GET请求Angular 返回Object对象

093gszye  于 2023-02-10  发布在  TypeScript
关注(0)|答案(1)|浏览(121)

我有一个后端服务器,发送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[],并做适当的插值在我的网页?
为什么我会收到一个对象,为什么我需要执行该变通方案?

oxf4rvwz

oxf4rvwz1#

我认为我们缺少有关对/reports端点的GET请求的信息。可能是您向其发出请求的API返回的结构类型与您期望的报告列表不对应。请与 Postman 核实/reports请求的返回类型,并进行投递,以便我们也获得该信息。

相关问题