Marshalling von generischen Typen, die in Jersey

Ich brauchen, um wieder in der client-Liste von paar Ergebnisse und die Gesamtzahl der Ergebnisse. Ich habe es auf mehreren Orten mit verschiedenen Personen, so möchte ich eine generische Klasse mit diesen beiden Attributen:

@XmlRootElement
public class QueryResult<T> implements Serializable {
    private int count;
    private List<T> result;

    public QueryResult() {
    }

    public void setCount(int count) {
        this.count = count;
    }

    public void setResult(List<T> result) {
        this.result = result;
    }

    public int getCount() {
        return count;
    }

    public List<T> getResult() {
        return result;
    }
}

Und der service:

@GET
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public QueryResult<TestEntity> findAll(
    QueryResult<TestEntity> findAll = facade.findAllWithCount();
    return findAll;
}

Person ist nicht wichtig:

@XmlRootElement
public class TestEntity implements Serializable {
    ...
}

Aber diese Ursachen: javax.xml.bind.JAXBException: class test.TestEntity nor any of its super class is known to this context.

Rückkehr der just-Kollektion ist einfach, aber ich weiß nicht, wie die Rückkehr meiner eigenen generischen Typ. Ich habe versucht, zu verwenden GenericType aber ohne Erfolg - ich denke, es ist ment für Sammlungen.

InformationsquelleAutor ziri | 2012-06-06
Schreibe einen Kommentar