Я б подумав про рефакторинг служби, щоб повернути об'єкт домену, а не рядки JSON, і дозволити Spring обробляти серіалізацію (через те, MappingJacksonHttpMessageConverterяк ви пишете). Станом на весну 3.1, реалізація виглядає досить акуратно:
@RequestMapping(produces = MediaType.APPLICATION_JSON_VALUE,
method = RequestMethod.GET
value = "/foo/bar")
@ResponseBody
public Bar fooBar(){
return myService.getBar();
}
Коментарі:
По- перше, <mvc:annotation-driven />чи @EnableWebMvcповинні бути додані до прикладної конфігурації.
Далі, виробляє атрибут @RequestMappingанотації використовується для вказівки типу вмісту відповіді. Отже, для нього слід встановити MediaType.APPLICATION_JSON_VALUE (або "application/json").
Нарешті, слід додати Джексона, щоб будь-яка серіалізація та десеріалізація між Java та JSON автоматично оброблялася до Spring (залежність Джексона виявляється Spring, і MappingJacksonHttpMessageConverterвона буде під капотом).