Spring MVC を使用して JSON POST リクエストを処理しています。カバーの下では、Jackson JSON プロセッサ上に構築され、mvc:annotation-driven を使用するときに有効になる MappingJacksonHttpMessageConverter を使用しています。
私のサービスの 1 つは、アクションのリストを受け取ります。
@RequestMapping(value="/executeActions", method=RequestMethod.POST)
public @ResponseBody String executeActions(@RequestBody List<ActionImpl> actions) {
logger.info("executeActions");
return "ACK";
}
Jackson が requestBody を java.util.LinkedHashMap アイテムのリストにマップすることを発見しました (単純なデータ バインディング)。代わりに、型指定されたオブジェクトのリスト (この場合は「ActionImpl」) にリクエストをバインドしたいと考えています。
Jackson の ObjectMapper を直接使用すると、これは簡単に実行できます。
List<ActionImpl> result = mapper.readValue(src, new TypeReference<List<ActionImpl>>() { });
しかし、Spring MVC と MappingJacksonHttpMessageConverter を使用する場合、これを達成するための最良の方法は何だろうと思っていました。ヒントはありますか?
ありがとう