【问题标题】:One class for two different deserializations一类用于两种不同的反序列化
【发布时间】:2017-07-09 11:48:29
【问题描述】:

我有两个或多个不同网站的请求。我正在尝试从他们那里获取一些数据并将其保存到数据库中。它们基本上具有相同的响应模型,但 JSON 字段的名称不同。 据我所知,我不能在该字段中添加多个 @JsonProperty

首先,我想到的是使用我需要的@JsonProperty 注释值创建两个类WebOneResponseWebTwoResponse,将它们用于对不同网站的请求,然后将它们全部解析为一些BaseClass然后将被插入数据库并在应用程序内部使用以进行分析。 (BaseClass,在这种情况下,必须有一些 id 来判断它来自哪个网站)

在这种情况下,由于注释,我什至无法从 BaseClass 扩展任何 ****Response。而且会变得很乱。

在这种情况下,最佳做法是什么?

【问题讨论】:

  • 我将创建单独的端点,因为您本质上发送的是不同的模型。但是通用代码可以重构。

标签: java json deserialization json-deserialization


【解决方案1】:

听起来很公平,也很正常。此外,我将创建BaseClassFactory 可以将WebOneResponseWebTwoResponse 转换为BaseClass,或者为每个响应添加toBaseClass 方法。但是工厂方法似乎更优雅。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多