JSON-RPC Swagger组合

JSON-RPC Swagger combination

我正在考虑为我的 Web 服务实施 JSON-RPC,并为我的服务实施 this library. I would also like to implement Swagger

但是,我不确定这两者是否是一个很好的组合。在 JSON-RPC 中,所有方法都在同一资源后面,而这在 Swagger 中没有任何意义。

我想知道以下问题:

  1. 是否可以将这些技术充分结合起来?
  2. JSON-RPC 还是一项很好用的技术吗?还是手动实现更好?

感谢您的想法。

相关的、未回答的问题:Swagger and json-rpc

来自 Swagger 团队,对 JSON-RPC 知之甚少,我可以提供部分答案。

根据您在问题中的描述,使用 Swagger 来记录这样的 API 是绝对不可能的。 Swagger 只能记录唯一操作,其中唯一操作定义为路径和 HTTP 动词的组合。

不幸的是,我无法评论 JSON-RPC 的强大功能,这不是因为偏见,而是因为我对它的机制了解不够。此外,Swagger 在描述类似 REST 的 API 时并不打算覆盖 100% 的用例,这并不意味着超出其范围的任何东西都是不好的。

关于 API 模式的一句话...

JSON-RPC 非常强大。它与传输无关,因为 REST 被锁定到 HTTP。如果你想使用流而不是孤立的请求,你将不得不破解很多。 JSON-RPC 从一开始就改变了你的范式,运行 你的 API 通过任何新的传输(socket.io、原始二进制文件、ZeroMQ、传真->OCR、短信,任何东西)是一个简单的实现。

在我看来,JSON-RPC 之于 REST,正如 REST 之于 SOAP