gpt4 book ai didi

angularjs - Angular nsResource 为 REST 字符串数组创建一个 char 数组的数组

转载 作者:行者123 更新时间:2023-12-02 19:09:54 24 4
gpt4 key购买 nike

我有一个提供“事件”数据的 Web 服务 Controller

GET /api/activity/list
GET /api/activity/1
GET /api/activity/activity-slug-name
PUT /api/activity
DELETE /api/activity/1

它还提供一些“元”数据

GET /api/activity/meta/dates
GET /api/activity/meta/states

它们都使用 ngResource 工作得非常好,因为它们都返回 JSON 对象。但是/api/activity/meta/dates 没有

它返回一个字符串数组

[
"2013-06-02T17:05:16Z",
"2013-06-07T17:05:16Z",
"2013-08-17T17:05:16Z"
]

ngResource 将其转换为 char 数组的数组请参阅:Invalid result from ngResource request with string array

显然,我可以将元函数拆分为某种形式的 ActivityMetaService,但我更愿意将它们全部放在一起

我的问题是

有没有办法阻止 ngResource 执行这种过度热心的对象分解?

或者我应该提出一个带有 Angular 的错误吗?

提前致谢

* 更新 *

感谢马克的评论。如果您将其作为答案,我会接受它,因为它指出了 Angular 中的一个错误,而其他两个答案不适合当前的架构。

虽然您的技术是正确的,但自 80 年代中期以来,除了 C/C++ 程序员之外,没有人想到过将字符串视为字符数组:)

我已经在 github 上用 angular.js 项目提交了一张票,引用如下

https://github.com/angular/angular.js/issues/2664

最佳答案

我们可以尝试使用transformRequest

query: {
method: 'GET',
isArray: true,
transformResponse: function (data, headers) {
var tranformed = [];
[].forEach.call(eval(data), function (d) {
tranformed.push({ name: d });
});
return tranformed;
}

}

关于angularjs - Angular nsResource 为 REST 字符串数组创建一个 char 数组的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16553363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com