我在我的项目中使用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)
任何想法?
答案 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();