我想将带有附加整数的对象传输到我的 Jersey-Service。
我的服务方法如下:
@POST
@Path("/test")
@Consumes("application/json")
public void test(Person pers, int number)
正文中的 Json 如下所示:
{
"name":"TEST",
"surname":"TEST",
"number":"1000"
}
无需额外的整数即可工作。
所以我认为这一定是一个错误的 JSON 消息?
顺便说一句:数字与对象无关,因此我无法将此变量集成到人员类中。
请问有人可以帮助我吗?
最诚挚的问候
最佳答案
它不会像问题中出现的那样工作,因为 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
}
关于java - 使用 JSON 传递对象和整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10313641/