RestTemplate + Jackson

Je veux utiliser le Printemps RestTemplate plus Jackson à consommer un WebService. J'ai suivi plusieurs tutoriels et en sont venus au point de créer les DAOs. C'est la méthode où je reçois tous mes objets de domaine:

//Create a Rest template
RestTemplate restTemplate = new RestTemplate();

//Create a list for the message converters

List<HttpMessageConverter<?>> messageConverters = new ArrayList<HttpMessageConverter<?>>();

//Add the Jackson Message converter
messageConverters.add(new MappingJacksonHttpMessageConverter());

//Add the message converters to the restTemplate
restTemplate.setMessageConverters(messageConverters);

List<Station> resultList = Arrays.asList(restTemplate.getForObject(BASE_URL, Station[].class));

return resultList;

Mais mon Web Service, ne pas retourner un tableau de la Station des objets immédiatement, mais plutôt une plus sémantique de l'expression de cette façon:

{"success":true,"message":"Records Retrieved Successfully","data":{"totalCount":"14","stations":[{"id":"1264","station":"Station 1","idJefatura":"1","syncDate":"2013-01-24 13:20:43"}, ...] }}

Donc mon problème est que je ne suis pas sûr de la façon de "dire" RestTemplate pour analyser l'objet de la liste de droite après les "stations" de l'indicateur, sans la création d'un groupe ad hoc de l'objet, ce qui ne semble pas être la bonne solution.

Est-il possible de préciser la bonne syntaxe pour RestTemplate?

EDIT: j'ai créé un objet wrapper comme ceci:

public class RestResponseObject {

    private boolean success;
    private String message;
    private Data data;

    public Data getData() {
        return data;
    }

    public void setData(Data data) {
        this.data = data;
    }

    public boolean isSuccess() {
        return success;
    }

    public void setSuccess(boolean success) {
        this.success = success;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public class Data {
        private int totalCount;
        private List<Station> stations;

        public int getTotalCount() {
            return totalCount;
        }

        public void setTotalCount(int totalCount) {
            this.totalCount = totalCount;
        }

        public List<Station> getStations() {
            return stations;
        }

        public void setStations(List<Station> estaciones) {
            this.stations= estaciones;
        }
    }
}

Mais j'ai du mal à savoir comment rendre cet objet générique, puisque le nom de la clé de ma liste d'objets dans la réponse JSON est la personne à charge de ce domaine objet de la classe.

OriginalL'auteur MichelReap | 2013-08-20