我正在一个项目中,多个独立的系统服务需要通过定义良好/完全定义的REST API(即通过HTTP GET
,PUT
和{{1 }} 要求)。我们希望将一些复杂的操作集合简化为一个功能,并使所有充当REST服务客户端的服务都可以使用(即,来自许多不同端点的POST
,合并结果并执行GET
和POST
到另一个/新端点)。
所有这些系统服务都是用各种编程语言(即C,C ++,Go,Node.js和Python)编写的,我们希望在这些不同的项目中重复使用相同的功能。到目前为止,最可行的方法似乎是编写一个c库,并将其提供给其他项目使用。
PUT
作为代码的语言将导致大多数其他语言/较新语言支持的某些功能缺少使用,并使代码过于复杂。由于所有项目和编程语言都只需要一种以相同方式解释HTTP调用的方式,是否存在一种更优雅/可维护的方式来允许代码在多个项目和编程语言之间重复使用?例如,协议缓冲区(或类似的东西)可以管理吗?