Я привел пример того, как вы можете сделать это, используя ObjectMapper Джексона (который помимо JSON хорошо отображает что-либо в неизменяемых объектах).
https://gist.github.com/4458079
Следует отметить, что вы не можете использовать @ModelAttribute
, если хотите использовать проверку Spring (BindingResult
), если не замените все средства разрешения аргументов. Однако @Valid
(с проверкой) должно работать и @RequestBody
также будет работать (без проверки) с моим решением.
Несмотря на то, что он использует Джексона для сопоставления параметров запроса с объектами, обработка JSON не выполняется. Если вы хотите это, посмотрите MappingJacksonHttpMessageConverter .
Как слабый бесстыдный штекер, мне это нужно было в сочетании с моим неизменяемым ORM под названием: JIRM , поскольку я предпочитаю неизменные объекты для управляемых сообщениями архитектур.