JSONRPC
Inherits: Object
用于处理看起来像JSONRPC文档的字典的助手。
描述
JSON-RPC是一个标准,它将一个方法调用包装在一个JSON对象中。该对象有一个特定的结构,并标识出哪个方法被调用,该函数的参数,并携带一个ID来跟踪响应。这个类在Dictionary之上实现了该标准;你必须用其他函数在Dictionary和JSON之间进行转换。
方法
make_notification ( String method, Variant params ) | |
make_request ( String method, Variant params, Variant id ) | |
make_response ( Variant result, Variant id ) | |
make_response_error ( int code, String message, Variant id=null ) const | |
process_action ( Variant action, bool recurse=false ) | |
process_string ( String action ) | |
void |
枚举
enum ErrorCode:
PARSE_ERROR = -32700
INVALID_REQUEST = -32600
METHOD_NOT_FOUND = -32601 —- 请求了方法调用,但 JSONRPC 子类中不存在该名称的函数。
INVALID_PARAMS = -32602
INTERNAL_ERROR = -32603
方法说明
- Dictionary make_notification ( String method, Variant params )
返回JSON-RPC通知形式的字典。通知是一次性的信息,不需要有响应。
method
:被调用的方法的名称。params
:传递给该方法的参数的数组或字典。
- Dictionary make_request ( String method, Variant params, Variant id )
以JSON-RPC请求的形式返回字典。请求被发送到服务器,并期望得到响应。ID 字段用于服务器指定它正在响应的确切请求。
method
:被调用的方法的名称。params
:传递给该方法的参数的数组或字典。id
:唯一标识此请求。服务器应发送具有相同 ID 的响应。
- Dictionary make_response ( Variant result, Variant id )
当服务器接收并处理请求时,它应该发送响应。如果你不想要回复,那么你需要发送通知。
result
:被调用函数的返回值。id
:此响应针对的请求的 ID。
- Dictionary make_response_error ( int code, String message, Variant id=null ) const
创建响应,指示先前的回复以某种方式失败。
code
:这是哪种错误对应的错误代码。参阅 ErrorCode 常量。message
:关于此错误的自定义消息。id
:这个错误是对请求的响应。
给定采用 JSON-RPC 请求形式的字典:解压请求并运行它。通过查看名为 “method” 的字段并在 JSONRPC 对象中查找等效命名的函数来解析方法。如果找到,则调用该方法。
要添加新的受支持方法,请扩展 JSONRPC 类并在你的子类上调用 process_action。
action
:要运行的动作,作为 JSON-RPC 请求或通知形式的字典。