AppPotには他のデータベースや、WebサービスをAppPotを経由して簡単に呼び出せるGateway APIという機能があります。APIの詳細はこちらをご覧ください。 Gateway API

今回、AppPotのJavaScript SDKで、Gateway APIのサポートを開始しましたので、使い方をお知らせします。 iOS、Android SDKでも順次提供を開始予定です。

SDKの更新

Gateway APIはJavaScript SDKのバージョン2.3.27からサポートされていますので、npm updateを実行して、SDKを最新にしてください。

SDKのインターフェイス仕様

Gateway APIはGET、POST、PUT、REMOVEのメソッドを持っています。

const AppPot = AppPotSDK.getService(config);

// TODO 認証などの処理

AppPot.Gateway.get(serviceName, url, queryparam, body, option)
  .then((response) => {
     ...
  });
AppPot.Gateway.post(serviceName, url, queryparam, body, option)
  .then((response) => {
     ...
  });
AppPot.Gateway.put(serviceName, url, queryparam, body, option)
  .then((response) => {
     ...
  });
AppPot.Gateway.remove(serviceName, url, queryparam, body, option)
  .then((response) => {
     ...
  });

パラメタ

各パラメタの説明は以下の通りです。

以下は、DBコネクタを使って、データベースに接続する際の、クライアントの実装のイメージです。

// AppPotに登録されているサービス名
const serviceName = 'mysql-service';

// テーブル名
const tableName = 'Building';

// データの登録
AppPot.Gateway.post(serviceName, tableName, null, {
	"BUILDINGID":"00001",
	"BUILDINGNAME":"NCDC00001",
	"CREATEDDATE":"2017/01/01 09:10",
	"UPDATEDATE":"2017/01/01 09:10"
})
.then(function(json){
	// 成功した時の処理
});

// データの取得 jsonでデータが受け取れる(option未指定)
AppPot.Gateway.get(serviceName, tableName, {
	"BUILDINGID":"NCDC00001",
})
.then(function(json){
	// 成功した時の処理
});

// データの取得 (option指定:JSON形式でデータを受信)
AppPot.Gateway.get(serviceName, tableName, {
	"BUILDINGID":"NCDC00001",
	}, null, { original: false })
.then(function(json){
	// 成功した時の処理
});

// データの取得 (option指定:連携先の形式でデータを受信)
AppPot.Gateway.get(serviceName, tableName, {
	"BUILDINGID":"NCDC00001",
	}, null, { original: true })
.then(function(result){
	// 成功した時の処理
});

// データの取得 select文を発行し、データを取得できる
AppPot.Gateway.get(serviceName, 'query', {
	query: "select BUILDINGID, BUILDINGNAME from Building where BUILDINGNAME like 'NCDC%'"
})
.then(function(json){
	// 成功した時の処理
});

// putでデータを更新
AppPot.Gateway.put(serviceName, tableName, null, {
	"BUILDINGID":"00002",
	"BUILDINGNAME":"NCDC00001",
	"CREATEDDATE":"2017/01/01 09:10",
	"UPDATEDATE":"2017/01/01 09:10"
})
.then(function(json){
	// 成功した時の処理
});

// removeで削除
AppPot.Gateway.remove(serviceName, tableName, {
	"BUILDINGID":"NCDC00001",
}).then(function(json){
	// 成功した時の処理
});