リクエストの送信
JSONペイロード
HTTPのリクエストおよびレスポンスでは、IO処理に、HTTPコンテンツ内のJSONが使用されます。一般的なHTTPリクエスト・ペイロード(ログイン・リクエストは異なる)は、次のような構造になります。
{
"command" : "operation/command name"
"arguments" : [
{"argumentNameApple":"value"},
{"argumentNameBoy":"value"},
{"argumentNameCat":"value"}
]
}
command
フィールドは、管理CLI内の、単一のコマンド、またはサブコマンドがある1つのコマンドにマップされます。arguments
フィールドにより、そのコマンドの引数と値が、JSON配列構造内のコマンド・サービスに渡されます。
deploy-sn
コマンドの場合のJSONペイロードの例を次に示します。
{
"command" : "deploy-sn"
"arguments" : [
{"zn":"zn1"},
{"host": "localhost"},
{"port":5000}
]
}
arguments
の配列値はJSONオブジェクトです。各JSONオブジェクトには、名前/値のペアを含むエントリが1つのみ存在します。エントリの名前は、コマンドの引数の名前です。エントリの値は、コマンドの引数の値です。arguments
フィールド内の引数名/値のペアは、管理CLIコマンドと同じ順序である必要があります。
エントリの名前は、次のパターンに従っている必要があります。
argumentNameWithMutiplePart
この名前は、管理CLIの引数名に変換されます。
-argument-name-with-multiple-part
引数値には、文字列またはブールを指定できます。次に例を示します。
{"zn": "stringValueOfZnId"}
{"port": "5000"}
{"useArbiter": true}
ブール引数値がコマンドラインで解析されるのは、それがtrue
に設定されている場合です。前述の例では、コマンドラインで{"useArbiter": true}
が-use-arbiter
に解析されます。
レスポンス
HTTPレスポンス内のJSONペイロードは、結果を示す次のような構造になります。
{
"operation" : "command name or specific operation name"
"returnCode" : "error code range from 5000 to 5500 to indicate failure, 5000 is successful"
"description" : "description of the result, it could be text result of the command output if information need to be read manually by administrator"
"returnValue" : "Useful information structured in JSON format to allow application to handle the result automatically"
}
すべての管理WebサービスAPIは、HTTPレスポンス・ペイロード内のJSONを返します。結果のJSONペイロードは管理CLIコマンドのJSON出力にマップされるため、その結果は、管理CLIコマンドで-json
オプションを使用する場合と同じです。