1

Jackson を使用して JSON 文字列をクライアント リクエストから Java オブジェクトに逆シリアル化し、FlexJson を使用して Java オブジェクトをシリアル化して応答したいと考えています。

簡単に言えば、問題は次のとおりです。Spring をセットアップして、Jackson を応答ではなく要求処理にのみ使用する方法は?

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> 

そしてコントローラーで:

@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        
}

しかし、このようにJacksonは、私が望まないFlexJSONによってすでに変換された応答もJSONに変換します。

解決策はありますか?ありがとう。

4

1 に答える 1

1

MappingJackson2HttpMessageConverterシリアル化メソッド用に Jackson をプラグインし、逆シリアル化メソッド用に FlexJSON をプラグインするカスタム Bean を構築できるはずです。

于 2014-06-06T15:08:50.173 に答える