Rersteasy异常“没有用于提取实体的类型信息,使用其他getEntity()方法”

时间:2014-02-22 06:28:31

标签: java junit resteasy

我在我的项目中使用resteasy。我从其余的webfunction返回一个Response对象。

@Override
public Response getData(@QueryParam(value = "test") String test) {
   GenericEntity<List<UserEntity>> customerentities = new  GenericEntity<List<UserEntity>>(result){};//  result is the List<UserEntity>
    return Response.ok(customerentities).build();
}

现在在我的junit测试案例中我正在做

Response response = testService.getData("testD");
response.getEntity() // doing this to retrive the List<UserEntity>

但是得到以下错误

java.lang.RuntimeException:没有用于提取实体的类型信息,使用其他getEntity()方法     at org.jboss.resteasy.client.core.BaseClientResponse.getEntity(BaseClientResponse.java:334)

任何想法?

1 个答案:

答案 0 :(得分:1)

在Resteasy客户端上使用getEntity()方法时,需要通过<T>参数指定类型,否则需要调用指定预期的其他重载getEntity()方法之一返回方法签名中的类型。

   ClientRequest request = new ClientRequest('RESOURCE URL HERE');
   ClientResponse<List<UserEntity>> response = request.get(new GenericType<List<UserEntity>>(){});
   List<UserEntity> users = response.getEntity();