Я хотел бы использовать Jackson для десериализации строк JSON из клиентских запросов в объекты Java и использовать FlexJson для сериализации объектов Java в ответ.
В двух словах проблема такова: как настроить Spring для использования Джексона ТОЛЬКО для обработки запросов, а не для ответа?
В servlet-context.xml у меня есть:
<beans:bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<beans:property name="messageConverters">
<beans:list>
<beans:ref bean="jsonMessageConverter"/>
</beans:list>
</beans:property>
</beans:bean>
<beans:bean id="jsonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
</beans:bean>
And in the controller:
@RequestMapping(value = "settings")
public @ResponseBody String getSomeData(@RequestBody UserData userData) {
// userData is automatically deserialized by Jackson
MyView viewForClient = new MyView(userData);
return new JSONSerializer().include(MyView.SERILIZABLE_FIELDS).exclude("*", "*.class").serialize(viewForClient); // here I don't want Jackson to handle the response
}
Но таким образом Джексон также преобразует в JSON ответ, уже преобразованный FlexJSON, который мне не нужен.
Есть ли решение? Спасибо.