Расширяя user2323189, вы можете использовать Collection вместо List.class, чтобы вы могли сериализовать все типы расширяющих Collection. Я создаю простой метод получения в своем базовом клиентском классе и могу просто использовать его для извлечения любого типа коллекции. В моем конструкторе не указана переменная clazz, поэтому она не является аргументом. Возможно, вы могли бы превратить это в статический метод и использовать подпись GenericType> с параметром для класса, чтобы сделать его еще более универсальным.

аюсь написать универсальную функцию в Джерси, которая может быть использована для получения списка объектов одного типа через REST. Я основал это на информации, найденной на этом форуме:ссылка

@Override
public <T> List<T> fetchResourceAsList(String url) {
  ClientConfig cc = new DefaultClientConfig();
  Client c = Client.create(cc);
  if (userName!=null && password!=null) {
    c.addFilter(new HTTPBasicAuthFilter(userName, password)); 
  }
  WebResource resource = c.resource(url);
  return resource.get(new GenericType<List<T>>() {});
}

Однако это не работает. Если я пытаюсь выполнить его, я получаю следующую ошибку:SEVERE: A message body reader for Java class java.util.List, and Java type java.util.List<T>, and MIME media type application/xml was not found.

Однако, если я напишу эту функцию без шаблонов (заменив T на фактическое имя класса), это просто отлично работает. Конечно, таким образом функция теряет смысл.

Есть ли способ это исправить?

Ответы на вопрос(3)

Ваш ответ на вопрос