【发布时间】:2018-11-06 17:42:36
【问题描述】:
我正在为 API(REST 以及面向消息队列的响应)的 Java 和 Python(以及未来可能的其他语言)消费者编写一个基本的 SDK。
我想知道是否有一种方法可以在 YAML 中定义类和枚举,而不是维护单独的每种语言的描述,这些方法可以自动转换为每种语言的适当对象。
我想我可以用 C 语言编写对象,然后进行每种语言的绑定 - 但这作为一种解决方案似乎有点笨拙。
【问题讨论】:
我正在为 API(REST 以及面向消息队列的响应)的 Java 和 Python(以及未来可能的其他语言)消费者编写一个基本的 SDK。
我想知道是否有一种方法可以在 YAML 中定义类和枚举,而不是维护单独的每种语言的描述,这些方法可以自动转换为每种语言的适当对象。
我想我可以用 C 语言编写对象,然后进行每种语言的绑定 - 但这作为一种解决方案似乎有点笨拙。
【问题讨论】:
您可以使用 JSON 来表示您的对象模型并将其转换为您使用的每种语言的对象。
这里有一些相关文章可以帮助您入门。 如何将 Java 对象转换为/从 JSON (Jackson) 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 数据
另一个选项是协议缓冲区,尽管在使用 REST api 时它不像 JSON 那样受欢迎。
【讨论】: