2017-12-24 9 views
0

こんにちは私は、私はレガシーシステムを打つことによって取得jsonを解析し、応答jsonを構築します。私たちはjackson依存関係を持つSpring Bootを使用しています。私が持っている問題は、レガシーからのフィールドのほぼ75%が直接または簡単なルール(0:偽、1:真)に基づいてマップできるということです。しかし、いくつかの複雑なルールがあり、同様のようないくつかのフィールドに存在する特定の条件やデータに基づいて、我々は我々が考えるべきアプローチこの要求に応えるためになど、ネストされたオブジェクトにマップすることができます -jackson - ルート要素読み取りツリー対pojo

  1. POJOレガシーターゲットからデータをフェッチするアプローチ。 bean utilを使用してください。 copypropertiesを使用してレスポンスBean(プロパティの75%)を設定し、このPOJOのビジネス変換をビジネスロジックに基づいて変換に適用します。 (beanutil.copypropertiesからコピーするには2つのpojosが必要ですか?b。最終的な応答dtoを作成しますか?)

  2. pojoを直接使用しないでJSONを解析して変換を適用し、新しいPOJOまたはレスポンスを作成しないでくださいDTO。 (ただし、これは一般的な解決策ではない可能性があり、ケースバイケースで行う必要があります)。

主な考慮事項は、アプローチが速くなければならず、一般的なものがフレームワークのように適用されるべきです。おかげでaakash

+0

タイプセーフでドキュメント化されたJavaオブジェクト(従来のAPIメッセージにマップされている)を別のオブジェクトに変換することは、JsonObjectを変換するよりもはるかに簡単で、 –

答えて

0

考慮事項は以下のようになります: - POJOは再利用可能ですか? - JSONマルチレベルは非常に大きいですか?

答えが両方ともイエスの場合は、クリーンな実装のためにPOJOを選択することをお勧めします。それ以外の場合はJsonObjectの解析。 これが役立つことを願っています。

関連する問題