我正在为AppEngine中的RESTFul后端执行AppEngine端点。我在客户端使用AngujarJS,使用ngResource管理服务器数据。
我的问题:我无法从AppEngine端点返回纯数组。我试过这个:
@ApiMethod(
name = "mpscorerapi.getAllResults",
path = "/tournament/{tournamentId}/result/"
httpMethod = HttpMethod.GET
)
public List<SimpleResult> getAllResults(@Named("tournamentId") Long tournamentId) throws NotFoundException
{
...
}
虽然这会将数据从服务器下载到客户端,但它不会构建一个“SimpleResult”对象数组,而是构建一个包含SimpleResult数组的对象,称为“items”:
{
"items": [
{
"id": "5733953138851840",
"h": 0,
"r": 0,
"kind": "mpscorer#mpscorerapiItem"
},
{
"id": "5733953138851841",
"h": 1,
"r": 2,
"kind": "mpscorer#mpscorerapiItem"
}
],
"kind": "mpscorer#mpscorerapi",
"etag": "\"SALE0WnK41Jo38zV0ILO62-rVOI/Mh2G6GGztZv-wj_56Kjf1o1XBaM\""
}
这使得ngResource相当无用,因为“query”方法需要一个纯数组作为回复:
$scope.resultsSrv = Result.query({tournamentID:tournamentId}) //fails!!!!
关于如何获得“SimpleResult”数组的任何想法?
谢谢!
答案 0 :(得分:0)
我遇到了类似的挑战。我最终使用jQuery来解析它。使用地图非常直接。
我的案子是:
$.map(locs.items, function (loc) {
return {
value: loc.longName
};