gpt4 book ai didi

通过 REST : Share a jar with class definitions? 进行 Java 到 Java 的对话

转载 作者:行者123 更新时间:2023-11-29 08:29:16 25 4
gpt4 key购买 nike

假设一个 Java 程序 A 通过 REST 调用另一个 Java 程序 B。 A需要传输一些复杂的数据(不太适合简单的键值对)给B。

我想到了以下方式:

  1. 定义一个 shared-datatypes.jar,其中包含一个 Parameter 类。

  2. 将此 jar 添加为 A 和 B 中的依赖项。

  3. 在 A 中,将类型为 Parameter 的对象转换为 JSON,通过网络发送,然后在 B 中将其转换回。

这可以很容易地通过例如GSON 并避免了手动构建 JSON 的错误,但它需要一个额外的 jar 来加载两边。

这是可取的吗?还是我正在以更好的方式重新发明已经存在的东西?

最佳答案

如果你想严格控制如何将 JSON 反序列化为具体的 Java 对象,这听起来是个好方法,例如Parameter

或者,Java 项目 A 和项目 B 的“本地”版本 Parameter 仅包含项目实际需要的 JSON 字段。

例如,如果项目 C 需要一个新字段,而现在项目 A 需要添加一个新字段(我们称之为 transactionNumber ),但项目 B 不关心 transactionNumber,因为它确实不需要它。现在使用您提出的方法,所有 3 个项目很可能都需要新版本的 shared-datatypes.jar,而新加入项目 B 的开发人员可能会对这个 transactionNumber 是否必要感到困惑。 (它增加了代码库中重要内容的噪声信号比率。)

关于通过 REST : Share a jar with class definitions? 进行 Java 到 Java 的对话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49668782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com