JSON-RPCのレスポンスを表すクラスです。
[詳解]
#include "nn/nlib/msgpack/jsonrpc/JsonRpcResponse.h"
JSON-RPCのレスポンスを表すクラスです。
- 説明
- サーバーはJSON-RPCのリクエストに対してレスポンスを返す必要があります(Notification以外の場合)。 レスポンスは、次のキーを含むJSONの連想配列です。
- jsonrpc:
- 値には"2.0"という文字列が入ります。
- result:
- 呼び出しが成功した場合に含まれます。エラーの場合は含まれません。 値はサーバー上の関数呼び出しの結果となります。
- id:
- リクエストに付けられていたidが入ります。
クライアント側はこのidを見てレスポンスを適切に振り分けます。
- error:
- 呼び出しがエラーの場合に含まれます。成功した場合は含まれません。
以下のキーを含む連想配列になります。
-
code: エラーコードです。
-
message: エラーメッセージが格納されます。
-
data: エラーについての追加情報が格納されます。値はサーバー定義で省略されるかもしれません。
- 参照
- http://www.jsonrpc.org/specification#examples
JsonRpcResponse.h の 36 行目に定義があります。
◆ ErrorCode
JSON-RPCのレスポンスに含まれる(事前定義の)エラーコードの定義です。
- 説明
- この他にも-32000から-32768までは予約されていて、-32000から-32099まではサーバーの実装で定義されるエラーとして予約されています。
列挙値 |
---|
kOk | JSON-RPCの実行が成功しました。
|
kParseError | JSONのパースに失敗しました。この値はJSON-RPC 2.0によって-32700と決められています。
|
kInvalidRequest | 受け取ったJSONがJSON-RPCとしては無効でした。この値はJSON-RPC 2.0によって-32600と決められています。
|
kMethodNotFound | 指定されたメソッドが存在していないか利用できません。この値はJSON-RPC 2.0によって-32601と決められています。
|
kInvalidParams | パラメータが無効です。この値はJSON-RPC 2.0によって-32602と決められています。
|
kInternalError | 内部エラーです。この値はJSON-RPC 2.0によって-32603と決められています。
|
kClientAbort | クライアントによってRPCの呼び出しが中断されました。これはnlib によって定義された値です。
|
JsonRpcResponse.h の 38 行目に定義があります。
◆ GetError()
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetError |
( |
| ) |
const |
|
inlinenoexcept |
◆ GetErrorMessage()
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetErrorMessage |
( |
| ) |
const |
|
inlinenoexcept |
◆ GetId()
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetId |
( |
| ) |
const |
|
inlinenoexcept |
◆ GetMpObject() [1/2]
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetMpObject |
( |
| ) |
|
|
inlinenoexcept |
◆ GetMpObject() [2/2]
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetMpObject |
( |
| ) |
const |
|
inlinenoexcept |
◆ MoveResultFrom()
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::MoveResultFrom |
( |
MpObject & |
obj | ) |
|
|
noexcept |
JSON-RPCの戻り値を設定します(エラーでない場合)。
- 引数
-
- 説明
- コピーのオーバーヘッドを避けるため、
obj
の内容はJsonRpcResponse
オブジェクトに移動することに注意してください。
◆ SetError() [1/2]
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::SetError |
( |
int |
errcode, |
|
|
const char * |
msg, |
|
|
MpObject & |
data |
|
) |
| |
|
noexcept |
JSON-RPC関数のエラーを設定します。
- 引数
-
[in] | errcode | エラーコード |
[in] | msg | エラーメッセージ |
[in,out] | data | エラーについての追加情報 |
- 説明
- コピーのオーバーヘッドを避けるため、データの内容は
JsonRpcResponse
オブジェクトに移動することに注意してください。
◆ SetError() [2/2]
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::SetError |
( |
int |
errcode, |
|
|
const char * |
msg |
|
) |
| |
|
inlinenoexcept |
このクラス詳解は次のファイルから抽出されました: