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.arg2
が 123
として呼び出されます。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");
}