Jersey MOXy 未解析 snake_case
Jersey MOXy not parsing snake_case
我正在将 JSON 对象从 PUT 请求传递到我的服务器。请求本身有效,但是 JSON 中带有下划线 (snake_case) 的字段似乎被忽略了。请求输出接收到的数据,看看结果是什么,带下划线的值转换为驼峰式,没有被解析。这是 class:
Public User{
private int id;
private String name;
private int some_value;
}
我传递给 PUT 请求的 JSON 对象:
{ "id":1, "name":John, "some_value":5 }
只有 PUT 方法 returns MOXy 在这种情况下捕获了什么
@PUT
@Path("user")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public User addUser(User user){
return user;
}
输出为:
{ "id":1, "name":John, "someValue":0 }
请注意如何将 "some_value" 更改为 "someValue" 并且没有更新实际值。知道为什么会这样吗?
MOXy 默认遵循 Java Bean 约定,建议采用驼峰式大小写。如果您不想(或不能)使用驼峰式大小写,您可以在字段中添加注释:
@XmlElement(name = "some_value")
private int some_value;
如果您不想注释所有字段,请使用 XMLNameTransformer。
我正在将 JSON 对象从 PUT 请求传递到我的服务器。请求本身有效,但是 JSON 中带有下划线 (snake_case) 的字段似乎被忽略了。请求输出接收到的数据,看看结果是什么,带下划线的值转换为驼峰式,没有被解析。这是 class:
Public User{
private int id;
private String name;
private int some_value;
}
我传递给 PUT 请求的 JSON 对象:
{ "id":1, "name":John, "some_value":5 }
只有 PUT 方法 returns MOXy 在这种情况下捕获了什么
@PUT
@Path("user")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public User addUser(User user){
return user;
}
输出为:
{ "id":1, "name":John, "someValue":0 }
请注意如何将 "some_value" 更改为 "someValue" 并且没有更新实际值。知道为什么会这样吗?
MOXy 默认遵循 Java Bean 约定,建议采用驼峰式大小写。如果您不想(或不能)使用驼峰式大小写,您可以在字段中添加注释:
@XmlElement(name = "some_value")
private int some_value;
如果您不想注释所有字段,请使用 XMLNameTransformer。