JSON-RPC模式规范?

6

我在考虑尝试实现一个客户端,为特定的json-rpc 2.0服务提供一些静态类型保证。所涉及的API非常庞大,因此手动编写带有所有必要类型信息的全功能客户端对我来说太过繁琐。但是,通过一个未记录的http端点,我找到了一个基于json的大型模式,似乎完整地描述了整个json-rpc服务。我相信我可以使用这个规范编写某种代码生成器。它太大了,无法在此粘贴。

我的问题是,是否有标准规范用于描述json-rpc服务?我已经搜索了很多死链,而json-rpc的官方规范[1]没有提到用于此类服务的标准模式定义。我找到的模式似乎至少部分基于json-schema规范[2]。

json-rpc

Json Schema

2个回答

4

JSON Schema非常适合定义有效载荷格式(您甚至可以在OpenAPI中用它来处理REST API),但确实无法帮助描述“RPC”部分,包括方法和入口点。

OpenRPC,于2019年初创建,似乎是最有前途的选择。

以太坊经典实验室核心团队(ECLC)最近创建了OpenRPC规范,旨在改善所有区块链dapp开发。该规范模拟了OpenAPI,这是一项成功并广泛采用的REST API规范。

OpenRPC规范为JSON-RPC 2.0 API定义了一个标准的、编程语言不可知的接口描述。

其他方法

Drupal JSON-RPC模块提供了一个发现端点和Postman集合。

可以通过发送HTTP GET请求到/jsonrpc/methods来发现可用的RPC服务以及文档和使用详细信息。您可以使用此Postman Collection,其中包含示例和测试。
还可能从AsyncAPI, gRPC, GraphQL中获得有趣的内容。
死亡
还引用了我偶然发现但已经死亡的其他选项: JSON-WSP似乎已过时,维基百科页面正在等待删除(讨论页面似乎表明这从未成为标准)。

JSON-WSP(JavaScript 对象表示法 Web 服务协议)是一种 Web 服务协议,它使用 JSON 进行服务描述、请求和响应。它的灵感来源于 JSON-RPC,但是由于缺乏在 JSON-RPC 中带有文档的服务描述规范,因此设计了 JSON-WSP。

JSON Schema Service Descriptor 看起来仍然是一个草案。

JSON Schema 服务描述符只是具有方法附加定义的 JSON Schema。


您可以查看WebRPC https://github.com/webrpc。它并不遵循JSON-RPC规范,但使用起来非常简单。 - fojt

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接