Je suis à l'aide de Spring MVC pour gérer JSON requêtes POST. Sous les couvertures, je suis en utilisant le MappingJacksonHttpMessageConverter construit sur l'Jackson JSON processeur et activé lorsque vous utilisez le mvc:annotation-driven.
L'un de mes services reçoit une liste d'actions:
@RequestMapping(value="/executeActions", method=RequestMethod.POST)
public @ResponseBody String executeActions(@RequestBody List<ActionImpl> actions) {
logger.info("executeActions");
return "ACK";
}
J'ai trouvé que Jackson cartes de la requestBody à une Liste de java.util.LinkedHashMap éléments (simple liaison de données). Au lieu de cela, je voudrais la demande d'être lié à une Liste d'objets de type (dans ce cas "ActionImpl").
Je sais que c'est facile à faire si vous utilisez Jackson ObjectMapper directement:
List<ActionImpl> result = mapper.readValue(src, new TypeReference<List<ActionImpl>>() { });
mais je me demandais quelle est la meilleure façon d'atteindre cet objectif lors de l'utilisation de Spring MVC et MappingJacksonHttpMessageConverter. Tous les conseils?
Merci