2017-07-09 9 views
0

2つ以上の異なるウェブサイトのリクエストがあります。私はそれらからいくつかのデータを取得し、それをデータベースに保存しようとしています。基本的に同じモデルのレスポンスを持ちますが、JSONフィールドの名前は異なります。 私が知っているように、フィールドに@JsonPropertyを複数追加することはできません。頭に浮かんだ2つの異なる非直列化のための1つのクラス

まず、2つのクラスWebOneResponseと私は必要WebTwoResponse@JsonPropertyと注釈の値を作成するさまざまなウェブサイトへの要求のためにそれらを使用して、その後、データベースに挿入されますいくつかのBaseClassにそれらのすべてを解析することです分析のためにアプリケーション内部で使用されます。 (BaseClass、その場合、どのウェブサイトから来たのかわかるいくつかのIDが必要です)

そしてその場合は、BaseClassの****レスポンスを拡張することすらできません注釈のそしてそれは非常に乱雑になります。

その場合のベストプラクティスは何ですか?

+0

本質的に異なるモデルを送信するので、私は別個のエンドポイントを作成します。しかし、共通コードはリファクタリングすることができます。 –

答えて

1

かなり公平なアプローチです。また、WebOneResponseWebTwoResponseBaseClassに変換するか、またはそれぞれの応答にtoBaseClassメソッドを追加するBaseClassFactoryを作成します。しかし、工場のアプローチはよりエレガントなようです。

関連する問題