java - 使用 JSON 传递对象和整数

标签 java json rest integer jersey

我想将带有附加整数的对象传输到我的 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/

相关文章:

java - 组合包名称的命名约定

Javafx设置背景

java - 这段Java代码可以变得更高效吗

javascript - 将 PHP 变量传递到 Flot 图表中

java - AndroidAnnotation REST 处理回调

java - 计数(唯一) View Spring boot REST

java - 康威的生命游戏图形

json - 将嵌套的 JSON 转换为 Pandas DataFrame

android - Gson 在生产模式下不映射数据 APK Android

java - GWT + Spring MVC(RESTful Web 服务)