我正在使用的后端团队实现了一个REST API,它将集合作为对象(而不是数组)返回.
例如,调用GET / some_resources将返回:
例如,调用GET / some_resources将返回:
{ id_1: { p1: "lorem",p2: 4 },id_2: { p1: "ipsum",p2: 2 },id_n: { p1: "sic",p2: 7 } }
这种结构限制在Angular中使用,因为你不能利用ng-repeat指令(例如orderBy and filter do not work with object).
对于前面的例子,理想情况下,我宁愿期待一个对象数组:
[ {id: "id_1",p1: "lorem",p2: 4},{id: "id_2",p1: "ipsum",p2: 2},{id: "id_n",p1: "sic",p2: 7} ]
这将允许直接使用ngResource服务返回的对象并将其发送回去而不触及其结构.它还允许完全使用ng-repeat指令.
当我要求后端团队更改从对象到数组的集合响应的结构时,他们认为API使用者不应该引导响应结构的设计.
我部分同意他们的论点,所以现在,我找到的唯一解决方案是将对象转换为数组,将此对象用于我的作用域并将数组重新转换回原始对象结构,然后再将其发送回API .
这导致了很多代码样板,我想知道是否有一种“角度方式”来处理这种情况.