我有一个Web服务控制器,提供"活动"数据
GET /api/activity/list
GET /api/activity/1
GET /api/activity/activity-slug-name
PUT /api/activity
DELETE /api/activity/1
Run Code Online (Sandbox Code Playgroud)
它还提供了一些"元"数据
GET /api/activity/meta/dates
GET /api/activity/meta/states
Run Code Online (Sandbox Code Playgroud)
它们都使用ngResource非常好地工作,因为它们都返回JSON对象.但是/ api/activity/meta/dates却没有
它返回一个字符串数组
[
"2013-06-02T17:05:16Z",
"2013-06-07T17:05:16Z",
"2013-08-17T17:05:16Z"
]
Run Code Online (Sandbox Code Playgroud)
ngResource将其转换为char数组数组,请参阅:ngResource请求与字符串数组的结果无效
显然我可以将元函数拆分成某种形式的ActivityMetaService,但我更愿意将它们保存在一起
我的问题是
有没有办法阻止ngResource执行这种过度热衷的对象分解?
或者我应该使用棱角分裂?
提前致谢
*更新*
感谢Mark的评论.如果你把它作为答案我会接受它,因为它指向Angular中的一个错误,而另外两个答案不适合当前的架构.
虽然你技术上是正确的,但自从80年代中期以来没有人将字符串作为字符数组,C/C++程序员除外:)
我已经使用angular.js项目在github上提出了一张票,参考如下
小智 2
我们您可以尝试使用transformRequest
query: {
method: 'GET',
isArray: true,
transformResponse: function (data, headers) {
var tranformed = [];
[].forEach.call(eval(data), function (d) {
tranformed.push({ name: d });
});
return tranformed;
}
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
4590 次 |
| 最近记录: |