使用restygwt

时间:2016-05-18 16:28:29

标签: java json rest servlets gwt

我正在使用restygwt进行客户端 - 服务器应用程序。我编写了我的方法并制作了一个servlet。

    @GET
    @Path("/get/getpoints/{projectId}")
    @Produces(MediaType.APPLICATION_JSON)
    void getAZPoints(@PathParam("projectId") BigInteger projectID,
        MethodCallback <Map<String, String>> responseWithName);

当使用Map<String, String>类型的响应时,我从客户端的服务器得到错误的响应。 Servlet返回如下数据:

["1":"New Pole","2":"New Manhole","3":"New Container 2","4":"New Building#11"] 

但是当收到回复时,我的回复只包含2个条目。

虽然我将类型更改为List<String>

    @GET
    @Path("/get/getpoints/{projectId}")
    @Produces(MediaType.APPLICATION_JSON)
    void getAZPoints(@PathParam("projectId") BigInteger projectID,
        MethodCallback <List<String>> responseWithName);

我的响应与servlet返回数据相同。

你能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我发现这是一个众所周知的问题 - https://github.com/resty-gwt/resty-gwt/issues/119。它发生的原因是我的字符串(在我的例子中实际上是一个数字字符串,如&#34; 123&#34;依此类推)像数字一样被发送并以错误的方式解码。作为一个解决方案,我将我的大整数作为带有一些文本字符串的字符串发送,并在客户端进行解码。现在它工作正常。