在实现 JSONRPC 2.0 服务器时,是不是需要同时支持命名参数和位置参数?

Posted

技术标签:

【中文标题】在实现 JSONRPC 2.0 服务器时,是不是需要同时支持命名参数和位置参数?【英文标题】:When implementing a JSONRPC 2.0 server, is it required to support both named, and positional arguments?在实现 JSONRPC 2.0 服务器时,是否需要同时支持命名参数和位置参数? 【发布时间】:2010-12-20 23:14:21 【问题描述】:

根据此处的规范:http://groups.google.com/group/json-rpc/web/json-rpc-2-0

更具体地说,本节:

如果存在,rpc 的参数 call 必须以结构化的形式提供 价值。无论是通过一个位置 数组或通过对象的名称。

在我看来,这两种样式都必须支持,但我提交了一份错误报告,另一位开发人员认为应该由开发人员决定支持哪种方法,并且规范不需要同时支持这两种样式。

除了我上面引用的内容外,我找不到官方答案,其他开发人员的解释方式与我不同。

那么,普遍的共识是什么?

【问题讨论】:

【参考方案1】:

我完全同意,上述文档中已明确概述。 4.2 第一句中的“必须”一词需要“结构化值”。 “结构化值”稍后由第二句定义。忽略其中一个选项是更改违反 JSON-RPC 2.0 规范的“结构化值”的定义

    如果存在,则 rpc 调用的参数必须作为结构化值提供。 通过数组按位置或通过对象按名称。

【讨论】:

【参考方案2】:

加入你的阵营,我认为这不会引起争议。

【讨论】:

另一位开发人员也反对我,已决定实施该规范的一半。 trac.xbmc.org/ticket/10095

以上是关于在实现 JSONRPC 2.0 服务器时,是不是需要同时支持命名参数和位置参数?的主要内容,如果未能解决你的问题,请参考以下文章

适用于 Android 的最佳 json rpc 2.0 库 [关闭]

OF.JsonRpc (.NET轻量级服务框架)

在具有双向支持的 java 中实现 jsonrpc 2.0 的最佳库

在 C# 中实现 TCP/IP JSONRPC 连接 - 需要设计建议

如何通过 Solana JSONRPC 发送和接收令牌

那里有测试 JsonRpc 服务器吗?