Criei um entidade de consulta, onde existem dois atributos apenas, um para dizer a qt de registros e outro que é a lista com o retorno da consulta, segue o código da classe.
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class RetornoDeConsulta<ENT> {
@XmlElement
private final Integer qtdeTotalDeRegistros;
@XmlElement
private final List<ENT> lista;
public RetornoDeConsulta(Integer qtdeTotalDeRegistros, List<ENT> lista) {
this.qtdeTotalDeRegistros = qtdeTotalDeRegistros;
this.lista = lista;
}
public RetornoDeConsulta(List<ENT> lista){
if(lista == null){
this.lista = new ArrayList<>();
}else{
this.lista = lista;
}
this.qtdeTotalDeRegistros = lista.size();
}
public RetornoDeConsulta(){
this.qtdeTotalDeRegistros = null;
this.lista = null;
}
public Integer getQtdeTotalDeRegistros(){
return qtdeTotalDeRegistros;
}
public List<ENT> getLista() {
return lista;
}
}
O meu recurso esta assim
@Path("/consulta")
@Override
@GET
@Produces(RestConstants.APPLICATION_JSON_UTF8)
public RetornoDeConsulta getAll() {
List<Usuario> lista = service.getAll();
RetornoDeConsulta<Usuario> retorno = new RetornoDeConsulta<>(lista.size(), lista);
return retorno;
}
Quando acesso o recurso para exibir o resultado da consulta o json esta apresentando assim.
{
qtdeTotalDeRegistros: 2,
lista: [
"br.com.pedrominga.model.Usuario@31a602e1",
"br.com.pedrominga.model.Usuario@4de0c784"
]
}
A lista não esta sendo exibida no formato de um json, alguém tem alguma ideia.
Obrigado