【发布时间】:2018-08-28 10:47:54
【问题描述】:
我的 Angular 前端选择参数,然后对执行查询的 Spring Boot 应用程序进行 HTTP GET api 调用。
现在,我的查询相当复杂,至少需要 3 分钟才能完成它的执行,然后将结果返回给 Angular。
从 Angular 调用 api 2 分钟后,我可以看到 Chrome 控制台上出现以下错误。即使 Spring boot 完成执行,Angular 中也没有收到任何响应
zone.js:2935 GET http://localhost:4200/api/oonReimbursement?market=Jumbo&start=2018-1-1&end=2018-1-3 net::ERR_EMPTY_RESPONSE
下面是我的get api调用方法
public getOonReport(searchCriteriaDTO: SearchCriteriaDTO): Observable < OonReimbursementDTO[] > {
const cpParams = new URLSearchParams();
cpParams.set('market', searchCriteriaDTO.marketSegment);
cpParams.set('start', searchCriteriaDTO.effectiveStartDate.toString());
cpParams.set('end', searchCriteriaDTO.effectiveEndDate.toString());
const options = new RequestOptions({
params: cpParams
});
console.log("REST API call = /api/oonReimbursement");
return this.http.get('/api/oonReimbursement', options)
.pipe(
map((response: Response) => < OonReimbursementDTO[] > response.json()));
}
下面是我在 angular 组件中的订阅方法。
this.report1Service.getOonReport(searchCriteriaDTO).subscribe((data: OonReimbursementDTO[]) => this.oonReports = data);
如果查询执行在 2 分钟内完成,我们会得到完美的响应。
如果是由于角端超时问题或与 http.get() api 调用中的 Rx Observables 相关的问题,有人可以帮助我吗?
【问题讨论】:
标签: angular spring-boot timeout http-get angular2-observables