提问人:Coder 提问时间:4/25/2019 最后编辑:CommunityCoder 更新时间:4/26/2019 访问量:179
跨多种编程语言重用HTTP REST函数
Re-using HTTP REST functions across multiple programming languages
问:
背景
我正在做一个项目,其中多个独立的系统服务需要通过一个定义良好/完全定义的 REST API(即通过 HTTP 、 和请求)与中央服务进行通信。我们希望将一些复杂的操作集简化为单个函数,并提供给充当 REST 服务客户端的所有服务(即 从一堆不同的端点,组合结果,然后对不同的/新端点执行 和)。GET
PUT
POST
GET
POST
PUT
问题
所有这些系统服务都是用各种编程语言(即 C、C++、Go、Node.js 和 Python)编写的,我们希望在这些不同的项目中重用相同的函数。到目前为止,最可行的方法似乎是编写一个 c 库并将其提供给其他项目。
- 但是,使用语言来容纳代码将导致使用错过大多数其他/较新语言支持的某些功能,并且会使代码过于复杂。
C
- 但是,如果我们要用 C++ 制作库,现在就可以弄乱绑定生成器,这会增加更多的复杂性)。
- 我们可以创建一个额外的REST服务(我们不允许修改当前的服务),作为中间“代理”来“翻译其他系统服务的请求”,但如果可能的话,我们宁愿使用库而不是添加另一个服务(因为我们必须通过添加“代理”服务来重新定义/重构身份验证/安全模型)。
问题
有没有一种更优雅/可维护的方式来允许在多个项目和编程语言之间重用代码,因为它们只需要一种方法以相同的方式解释 HTTP 调用?例如,这是协议缓冲区(或类似的东西)可以管理的东西吗?
答: 暂无答案
评论