gpt4 book ai didi

java - 如何在休息服务中的java对象不使用@XmlRootElement的情况下获取请求对象

转载 作者:行者123 更新时间:2023-12-02 00:34:58 24 4
gpt4 key购买 nike

我正在尝试使用 Apache CXF 和 Jackson 数据绑定(bind)生成休息服务。在这里我不想使用 @XmlRootElement 注释。当我尝试下面的代码时,请求对象就像一个空对象。

这是我的服务界面

@POST
@Path("/getusers/")
@Consumes("application/json")
@Produces("application/json")
public List<UserDetails> getusers(UserDetails userDetails) throws ServiceException;

这是我的域对象

public class UserDetails implements Serializable{

private String userName;
private int userId;

public UserDetails(){

}
//getters and setters...
}

Json 对象看起来像

{
"id" : "102",
"username" : "scott"
}

我收到请求对象的空指针异常

如何访问我的请求对象注意:这里我使用 Jackson 数据绑定(bind)

最佳答案

您的 JSON 包含 username,而成员名为 userName。此外,iduserId 是不同的。

您有三个选择:

  • 更改 UserDetails 成员的名称以匹配 JSON 对象中的字段。
  • 更改 JSON 对象的名称以匹配 UserDetails 的成员名称。
  • 使用 @JsonProperty 配置要绑定(bind)到 UserDetails 成员的 JSON 对象名称。

关于java - 如何在休息服务中的java对象不使用@XmlRootElement的情况下获取请求对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57987607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com