Olá pessoal,
Estou usando o RESTEasy e estou tendo um problema em definir um método que retorna uma lista, em uma classe que usa generics.
Se eu implemento o método deste jeito funciona:
@GET
@Produces(MediaType.TEXT_XML)
@Path("/all")
@Override
public List<Unidade> findAll() throws Exception {
return super.findAll();
}
…neste caso o método está na subclasse. O problema é que uso este método para várias classes resource cujo tipo da lista é diferente.
Então eu tenho uma superclasse com o método assim:
@GET
@Produces(MediaType.TEXT_XML)
@Path("/all")
@Override
public List<T> findAll() throws Exception {
try {
return this.getService().findAll();
} catch (Exception e) {
Logger.error("Erro retornando lista de objetos da classe "
+ this.getType().getName(), e);
throw e;
}
}
…gostaria de não precisar sobrepor o método na subclasse, só que usando a chamada do método direto da super classe eu tenho a seguinte exceção:
55810 [http-8080-1] ERROR org.jboss.resteasy.core.SynchronousDispatcher - Failed executing GET /resource/1028/unidade/all
org.jboss.resteasy.core.NoMessageBodyWriterFoundFailure: Could not find MessageBodyWriter for response object of type: java.util.ArrayList of media type: text/xml