スキーマの定義(ゲートウェイ)
モバイルアプリから Thing を操作する際、スキーマを定義する必要があります。
ここでは、スキーマ、アクション、アクションリザルト、ステートの概念に関する知識があることを前提に説明します。概要については スキーマ をご覧ください。
スキーマの定義方法は、スタンドアローンで Thing を利用する場合と同様です。実装方法の詳細は スキーマの定義 をご覧ください。
ゲートウェイに対するスキーマ
ゲートウェイはリクエストやレスポンスを中継するだけであるため、アクションやステートが不要ですが、形式的に、スキーマを定義しておく必要があります。
以下のように空のステートクラスを用意してから、アクションがないスキーマを定義します。
public class GatewayState extends TargetState {
}
// Create a schema builder with parameters.
SchemaBuilder sb = SchemaBuilder.newSchemaBuilder("gateway",
"Gateway-Sample",
1, GatewayState.class);
// Create a schema.
Schema schemaGateway = sb.build();
エンドノードに対するスキーマ
エンドノードは実際にコマンドやステートを扱う必要があるため、スタンドアローンの Thing の場合と同様にスキーマを定義します。