【问题标题】:Handling different POJOs from different JSON API responses处理来自不同 JSON API 响应的不同 POJO
【发布时间】:2012-06-28 16:18:25
【问题描述】:

我有一个 REST API,它将 JSON 返回到它的调用中。但是,根据我执行的呼叫,答案会有所不同。使用 Gson 会为每个 API 响应生成不同的 POJO 对象。

考虑到我有一个 IntentService 来处理我的所有 GET 请求,而我只在意图中传递了一个 URL,那么处理 IntentService 中不同响应的最佳方法是什么?

我在 Android 中处理 JSON 已经有一段时间了,但我似乎无法为这个问题找到一个优雅/智能的解决方案。我一直在创建一个 enum 来区分可能的 API 请求,并在意图中传递选定的 enum 值,以便 IntentService 使用 switch 语句选择要执行的操作。

谢谢。

【问题讨论】:

    标签: android json rest gson


    【解决方案1】:

    如果你得到的所有不同 POJO 都有一个共同的业务逻辑,那么尝试使用相同的类会很好,为此,尝试自定义 GSON 映射策略。

    如果您真的没有共同的逻辑,那么您可以将您的 GSON 对象视为 DTO,然后您到业务类的“映射”在较低层完成(并且您在这里有很多方法可以做,包括推土机)。

    对于更具体的答案,您的项目的更多详细信息或示例会有所帮助。

    【讨论】:

    • 谢谢塞缪尔,我从来没有想过你的第二个建议。我一定会试试看的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 2020-11-10
    • 2011-10-14
    • 2017-02-10
    相关资源
    最近更新 更多