Server Code の実行

Thing から、Server Code を実行する例を以下に挙げます。

/* Set server code parameters. */
#define ENDPOINT_NAME "myFunction"
#define PARAMS "{\"arg1\":\"abc\", \"arg2\":123}"

int ret;

/* Execute server code. */
ret = kii_server_code_execute(&kii, ENDPOINT_NAME, PARAMS);
if (ret != 0) {
  /* Handle the error. */
  return;
}

printf("returned value:%s\n", kii.kii_core.response_body);

この例では、Server Code のエンドポイント myFunction を呼び出しています。

パラメーターは JSON 形式で指定します。この例の場合、Server Code 側で実装されている myFunction の第 1 引数 params は、params.arg1"abc"params.arg2123 として呼び出されます。Server Code の引数の詳細は、Server Code の書式 をご覧ください。

Server Code からの戻り値は、JSON 形式の文字列として受け取ります。関数が成功したとき、kii.kii_core.response_body に以下のような JSON 文字列が格納されています。JSON 中の任意のキーから値を取得したい場合は、kiijson ライブラリーを使用できます。実装方法は、<a href="/ja/guides/thingifsdk/nontrait/thing/json-library/">JSON の解析 をご覧ください。

{"returnedValue":"success"}

これは、Server Code 側で以下のように success を引数に done 関数を実行した場合の戻り値の例です。

function myFunction(params, context, done) {
  done("success");
}