angular - 使用接口仅保存响应中所需的数据
问题描述
服务器响应返回了很多不必要的数据,我创建了一个界面来仅获取必要的项目,但我不知道该怎么做
我的界面
export interface UsersInfo{
id: string;
name: string;
street: string;
}
我从 API 返回
return this.http.get<any[]>(url, {params, headers})
.pipe(map((res: any) => {
return res.items;
}));
JSON看起来像这样
{
'id' : 'A457BS',
[...]
'info'{
name: 'John',
street: '5',
[...]
}
}
解决方案
在响应主体上使用Array.prototype.map()
,像这样,对每个元素中的数据进行变异并获取变异数据的数组:
return this.http.get<any[]>(url, {params, headers})
.pipe(map((res: any) => {
return res.items.map((item) => {
return {
id: item.id,
name: item.info.name,
street: item.info.street,
} as VideosYoutube;
});
}));
推荐阅读
- excel - 用户表单的复杂变量名称
- python - Python3 argparse:当将字符串作为 arg 传递时运行 funcA,如果虚线 arg 运行另一个 func
- python - 为什么 python subprocess 命令在通过 API 调用执行时得到 [Errno 2] No such file or directory: 'ls': 'ls'
- twilio - 将 Twilio 语音 Autobot 转移到电话号码
- powerbi - 查找购买特定产品的每个 customerID 的最早日期行并在新列中返回日期
- database - 如何从谷歌云数据存储中插入/获取实体(python)
- flask - 如果浏览器关闭(会话),我如何使用flask socketio保存和显示现有进度状态
- spring - 当我输入时,Spring jpa 自动完成功能没有出现
- reactjs - React typescript for added antdesign (antd) modal 不工作
- excel - 无法从 Excel 工作表中正确读取值