java可以自动生成POJO进行反序列化吗?
我在Spring应用程序中使用Jackson将JSON流(来自REST服务)反序列化到POJO中。 目前,我使用thisweb实用程序从JSON流生成POJO。 重点是,在未来,我将处理不同的JSON流,我认为为不同的JSON流生成POJO将变得越来越复杂和令人沮丧
有没有办法让项目从JSON流开始自动生成POJO?例如,QueryDSL库提供了一个Maven插件来生成用于查询构建的Q*类。 它是否存在类似的Jackson插件或其他任何方式来完成事情
谢谢你之前的发言
朱利奥
# 1 楼答案
杰克逊没有提到任何类似的事情,我也从来没有听说过像你提到的那样的事情
您提到了QueryDSL,它在构建阶段生成Q*类。这意味着您愿意使用额外的步骤来构建代码,这意味着您在使用jsonschema2pojo的Maven或Gradle插件时不会遇到任何问题
# 2 楼答案
也许你的REST设计有问题。 REST端点应该非常具体。 每个rest端点都应该代表一个资源, 换句话说,域/pojo通常代表数据库的一个实体
如果您的端点接收到多个资源表示,您可能会 有一个巨大的DTO,很难维护
通常,您需要构建域模型。这些域是常规POJO,所以 使用它们转换json/java-java/json。 这应该可以很好地扩展。对模型的任何修改都会影响json流。 如果修改域,则只有表示此资源的端点才会生效