我想将带有附加整数的对象传输到Jersey-Service。
我的服务方法如下:
@POST
@Path("/test")
@Consumes("application/json")
public void test(Person pers, int number)
并且身体中的Json看起来像这样:
{
"name":"TEST",
"surname":"TEST",
"number":"1000"
}
它没有额外的整数。
所以我认为它必须是错误的JSON消息?
BTW:该数字与对象无关,因此我无法将此var集成到person-class中。
有人可以帮助我吗?
最好的问候
答案 0 :(得分:0)
它不会像问题中那样出现,因为Jersey不会序列化原始类型。查看以下帖子:how-to-serialize-java-primitives-using-jersey-rest
它也不支持序列化基本类型的包装器对象,在本例中是Integer对象。正如上面提到的那样,您可以构建自己的包装int并具有正确注释的类。
对于你在问题中给出的这种情况,我认为传递一个String然后解析它为int值就足够了:
@POST
@Path("/test")
@Consumes("application/json")
public void test(Person pers, String number){
int x = Integer.parseInt(number);
//rest of code here
}