带有GenericType的getEntity

时间:2012-05-14 16:29:15

标签: java jersey generic-list generic-type-argument

尝试从REST服务获取实体。我的代码是这样的:

我想发送一个这样的对象:new GenericType<List<MyObject>>() {}

这样的方法:

public static Object callRestWithUrl(String url, Class<?> responseObject)
            throws MetaServiceException {

        ClientResponse response = RESTConnectionUtils.callMetaService(url);

            result = response.getEntity(responseObject);

        .....

但它在运行时被评估为List,而不是GenericType,并抛出异常。

2 个答案:

答案 0 :(得分:4)

如何调用callRestWithUrl方法?

如果你的方法有签名可能会更好:

public static Object callRestWithUrl(String url, GenericType<List<?>> responseObject)

然后你就这样调用了它:

List<...> list = callRestWithUrl(new GenericType<List<MyObject>>() {});

也许这个网页可以提供帮助: http://persistentdesigns.com/wp/2009/10/jersey-rest-client/

答案 1 :(得分:0)

由于某种原因,它开始按原样工作。不知道为什么。方法的输入必须是通用的。