我有 2 个 REST API。来自这两个 API 的数据都是必需的。同时,第二个 API 将 API 1 的输入作为参数。
GET api/one --> {id: 3},GET api/two 需要这个响应id?inputFromApiOne=3 --> {name: 'SS'}
我在组件中可用的最终响应应该是 -
{
"id": 3, -- from API One
"name": "SS" -- from API Two
}
我已经使用解析器从 API One 获取数据,但无法将其用作第二个解析器的输入。
我还尝试从 resolver1 中的两个 API 获取数据。我使用了 flatMap,但最后我只得到了来自第二个 API 的数据。
resolve(route: ActivatedRouteSnapshot) {
return this.myService.getDataFromApiOne(route.params.id).pipe(flatMap(data => {
return this.myService.getDataFromApiTwo(data.someKey.id);
}));
}