Javascript 在多个API响应中处理不同键的最佳方法

Javascript 在多个API响应中处理不同键的最佳方法,javascript,node.js,typescript,api,Javascript,Node.js,Typescript,Api,我正在尝试开发一个nodejs服务,它将作为我的api和第三方api之间的代理。我需要实现的是一个能够接收多个api响应的系统,并使用后端所期望的键将响应“转换”到对象。 例如: 我有一个资源名称“cars”。 我的api需要以下对象: { name: 'car1', type: 'suv', date: '24-12-1998' } 但是,第三方api使用如下对象进行响应: { label: 'car1', firstRecord: '24-12-1998', se

我正在尝试开发一个nodejs服务,它将作为我的api和第三方api之间的代理。我需要实现的是一个能够接收多个api响应的系统,并使用后端所期望的键将响应“转换”到对象。 例如:

我有一个资源名称“cars”。 我的api需要以下对象:

{ 
  name: 'car1',
  type: 'suv',
  date: '24-12-1998'
}
但是,第三方api使用如下对象进行响应:

{
  label: 'car1',
  firstRecord: '24-12-1998',
  segment: 'suv'
}
我需要的是一种将字段映射并将对象“转换”为我所期望的内容的方法,并以一种可扩展到多个第三方API的方式执行此操作


您对此有何想法?

您可以创建一个对象和一个函数来映射

const键映射={
标签:“名称”,
第一条记录:“日期”,
段:'类型'
}
const obj={label:'car1',firstRecord:'24-12-1998',segment:'suv',不存在:'foo'}
常量转换=(obj)=>{
返回Object.keys(obj).reduce((acc,key)=>{
const newKey=keyMappings[key]?keyMappings[key]:key
acc[newKey]=obj[key]
返回acc;
}, {})
}
const translatedbj=translate(obj);

console.log(translatedObj)您可以创建一个对象和一个函数来映射

const键映射={
标签:“名称”,
第一条记录:“日期”,
段:'类型'
}
const obj={label:'car1',firstRecord:'24-12-1998',segment:'suv',不存在:'foo'}
常量转换=(obj)=>{
返回Object.keys(obj).reduce((acc,key)=>{
const newKey=keyMappings[key]?keyMappings[key]:key
acc[newKey]=obj[key]
返回acc;
}, {})
}
const translatedbj=translate(obj);

console.log(translatedObj)这是否回答了您的问题?这回答了你的问题吗?对这就是我正在考虑使用的方法。我想到的另一件事是使用Typescript接口。您对此有何看法?您也可以使用接口,但仍然需要映射键。如果你能分享一个使用接口的例子,也许我可以进一步帮助你。是的。这就是我正在考虑使用的方法。我想到的另一件事是使用Typescript接口。您对此有何看法?您也可以使用接口,但仍然需要映射键。如果你能分享一个使用接口的例子,也许我可以进一步帮助你。