如何在rest服务中不使用@XmlRootElement获取java对象的请求对象
我正在尝试使用ApacheCxf和Jackson数据绑定生成rest服务。这里我不想使用@XmlRootElement注释。当我尝试下面的代码时,请求对象就像一个空对象 这是我的服务接口如何在rest服务中不使用@XmlRootElement获取java对象的请求对象,java,jax-rs,cxf,jackson-databind,Java,Jax Rs,Cxf,Jackson Databind,我正在尝试使用ApacheCxf和Jackson数据绑定生成rest服务。这里我不想使用@XmlRootElement注释。当我尝试下面的代码时,请求对象就像一个空对象 这是我的服务接口 @POST @Path("/getusers/") @Consumes("application/json") @Produces("application/json") public List<UserDetails> getusers(UserDetails userDetails) throw
@POST
@Path("/getusers/")
@Consumes("application/json")
@Produces("application/json")
public List<UserDetails> getusers(UserDetails userDetails) throws ServiceException;
Json对象看起来像
{
"id" : "102",
"username" : "scott"
}
我得到请求对象的空指针异常
如何访问请求对象
注意:我在这里使用Jackson数据绑定您的JSON包含
用户名
,而成员名为用户名
。而且,id
和userId
是不同的
您有三种选择:
- 更改
成员的名称以匹配JSON对象中的字段UserDetails
- 更改JSON对象的名称以匹配
的成员名称UserDetails
- 使用
将JSON对象名配置为绑定到@JsonProperty
成员UserDetails
{
"id" : "102",
"username" : "scott"
}