java - 以多种语言维护对象模型
问题描述
我正在为 API(REST 以及面向消息队列的响应)的 Java 和 Python(以及未来可能的其他语言)消费者编写一个基本的 SDK。
与其维护单独的每种语言的描述,我想知道是否有一种方法可以在 YAML 之类的东西中定义类和枚举,它们可以自动转换为每种语言的适当对象。
我想我可以用 C 编写对象,然后进行每种语言的绑定——但这作为一种解决方案似乎有点笨拙。
解决方案
您可以使用 JSON 来表示您的对象模型并将其转换为您使用的每种语言的对象。
这里有一些相关的文章可以帮助您入门。如何将 Java 对象转换为 JSON(杰克逊) https://www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/
https://realpython.com/python-json/#encoding-and-decoding-custom-python-objects 在 Python 中使用 JSON 数据
另一个选项是 Protocol Buffers,尽管在使用 REST api 时它不像 JSON 那样受欢迎。
推荐阅读
- python-3.x - 当损失依赖于输入并通过自定义损失层实现时,如何使用 tf estimator API 为 train_op 设置损失?
- ios - 在 iPad 中显示 ActionSheet
- ffmpeg - 没有 RTSP 的 TCP 上的 RTP(用于在 FFmpeg 中接收)
- windows - 用于检查 Windows 更新的 VB 代码说服务器不可用
- oracle - 异常与 raise_application_error
- javascript - 使用Javascript在图像上绘制画布线不会影响整个区域
- objective-c - 如何在 Objective-C 中测试标准输入功能?
- node.js - 我尝试使用 nodejs 和 mongodb 进行 crud 操作。所有 crud 操作都工作正常。但是 get 方法只显示一个数据而不显示所有数据
- mysql - 如何运行包含大量数据的查询?
- r - 从服务器端调用对数据表应用客户端过滤器