【发布时间】:2012-02-29 16:59:16
【问题描述】:
我有以下 Jersey 资源,Jersey 已配置为使用 Jackson 进行自动 JSON-POJO 转换:
@Path("/test")
public class TestResource {
@POST
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public TestResponse testGet(final TestRequest req) {
final TestResponse response = new TestResponse();
response.x = req.x + 1;
return response;
}
@XmlRootElement
public static class TestRequest {
public int x;
}
@XmlRootElement
public static class TestResponse {
public int x;
}
}
我称之为:
{"x":5}
并得到响应:
{"x":"6"}
但是为什么这里的值是一个字符串,而TestResponse中的x字段是一个int呢?
【问题讨论】:
-
默认情况下,一切都被序列化为字符串。我不确定为什么这对客户来说是个问题。
-
嗯,很奇怪 - 我该如何改变这种行为?
-
这个问题你解决了吗?