【发布时间】:2016-04-19 09:25:58
【问题描述】:
我正在使用 google app engine 最新版本 1.9.30,我将我的云端点定义如下
@Api(name="app", version="v1", transformers={EndpointDateTransformer.class})
public class MyEndpoints {
@ApiMethod(name="dummy", path="dummy", httpMethod=HttpMethod.GET)
public Map<String, Object> dummy(){
Map<String, Object> dummy = Maps.newHashMap();
dummy.put("date", DateUtil.getCurrentTimestamp());
dummy.put("number", 5L);
return dummy;
}
}
这里 EndpointDateTransformer 将 Date 转换为 Long 值,并且来自端点的 JSON 响应是
{
"number": "5",
"date": "1452751174672"
}
但如果我将 5L 更改为 5,我会看到 JSON 响应为
{
"number": 5,
"date": "1452751174672"
}
为什么云端点将 Long 值转换为 JSON 中的字符串。当我使用旧的应用程序引擎版本 1.9.19 时,它曾经可以工作。长时间在 JSON 上渲染也是如此。我在这里有什么遗漏吗?
【问题讨论】:
-
您是否尝试将您的地图用作
Map<String, Long>?
标签: java json google-app-engine google-cloud-endpoints