如何在AngularJS中处理模型/ API响应转换?

时间:2016-09-07 10:51:33

标签: javascript angularjs json rest

我有一个角度应用程序,它从JSON API请求数据。示例API响应可能是:

{
  id: 1,
  name: 'JJ',
  houseId: 2
}

在我的角度应用程序中,我将拥有代表User的模型,该模型还具有House对象的引用:

{
  id: 1,
  firstName: 'JJ',
  surname: '',
  house: {
    id: 2,
    address: 'XXX'
  }
}

应用程序模型和API响应的不同之处在于API响应中有一个名称字段,但我的应用程序模型中有两个字段。是否有一种“角度”方式我可以从API调用响应对象转换到我的应用程序模型,以确保我总是处理控制器/服务中的一致对象?

与此相关,API使用与该用户关联的house对象的数据库id进行响应,而不是使用JSON中包含的完整house对象进行响应。有没有办法将我的对象设置为在需要时自动解决?

举个例子,我想用他的地址显示这个用户。如果对象完全解析,我可以使用'user.house.address'。但是,使用普通的JSON响应对象,这将是未定义的。我不希望通过使用带有houseId的house API来显式解析house对象,我希望通过先前说明如果访问该对象将如何解析这样的id来“幕后”发生。

或者我是以错误的方式接近这个,并且应该使用API​​响应来指示我的应用程序的数据结构,并且通过对象id的显式查找是首选方式?

0 个答案:

没有答案