2012-06-27 79 views
0

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

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

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

谢谢。

回答

0

如果您所得到的所有不同POJO都有共同的商业逻辑,那么尝试使用相同的Class并尝试定制GSON映射策略会很好。

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

对于一个更具体的答案,更多的细节或您的项目的例子会有所帮助。

+0

谢谢塞缪尔,我从来没有对你的第二个建议。我一定会尝试一下。 – gnclmorais