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#examp を御覧ください。
JsonRpcResponse.h の 24 行目に定義があります。
JSON-RPCのレスポンスに含まれる(事前定義の)エラーコードの定義です。
- 説明
- この他にも-32000から-32768までは予約されていて、-32000から-32099まではサーバーの実装で定義されるエラーとして予約されています。
列挙値 |
---|
OK |
JSON-RPCの実行が成功しました。
|
PARSE_ERROR |
JSONのパースに失敗しました。この値はJSON-RPC 2.0によって-32700と決められています。
|
INVALID_REQUEST |
受け取ったJSONがJSON-RPCとしては無効でした。この値はJSON-RPC 2.0によって-32600と決められています。
|
METHOD_NOT_FOUND |
指定されたメソッドが存在していないか利用できません。この値はJSON-RPC 2.0によって-32601と決められています。
|
INVALID_PARAMS |
パラメータが無効です。この値はJSON-RPC 2.0によって-32602と決められています。
|
INTERNAL_ERROR |
内部エラーです。この値はJSON-RPC 2.0によって-32603と決められています。
|
CLIENT_ABORT |
クライアントによってRPCの呼び出しが中断されました。これはnlib によって定義された値です。
|
JsonRpcResponse.h の 26 行目に定義があります。
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetErrorCode |
( |
| ) |
const |
|
inline |
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetErrorMessage |
( |
| ) |
const |
|
inline |
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetId |
( |
| ) |
const |
|
inline |
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetMpObject |
( |
| ) |
|
|
inline |
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetMpObject |
( |
| ) |
const |
|
inline |
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::IsError |
( |
| ) |
const |
|
inline |
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::MoveResultFrom |
( |
MpObject & |
obj | ) |
|
JSON-RPCの戻り値を設定します(エラーでない場合)。
- 引数
-
- 説明
- コピーのオーバーヘッドを避けるため、
obj
の内容はJsonRpcResponse
オブジェクトに移動することに注意してください。
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::SetError |
( |
int |
errcode, |
|
|
const char * |
msg, |
|
|
MpObject & |
data |
|
) |
| |
JSON-RPC関数のエラーを設定します。
- 引数
-
[in] | errcode | エラーコード |
[in] | msg | エラーメッセージ |
[in,out] | data | エラーについての追加情報 |
- 説明
- コピーのオーバーヘッドを避けるため、データの内容は
JsonRpcResponse
オブジェクトに移動することに注意してください。
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::SetError |
( |
int |
errcode, |
|
|
const char * |
msg |
|
) |
| |
|
inline |
このクラス詳解は次のファイルから抽出されました: