REST API を活用することで、任意のクライアント(フロントエンドアプリケーション)と Wagby を接続することができます。

Wagbyアプリケーションは標準で REST API に対応しています。

開発者はWagbyアプリケーションが稼働しているサーバ(ホスト)に HTTP リクエストを送信すると、JSON 形式で結果を取得することができます。

この仕組みを用いて専用のフロントエンドアプリケーションから、HTTP リクエストを用いて Wagby に格納されているデータの取得や登録、更新、削除といったデータベース操作が可能になります。PC だけでなく iOS や Android OS からもアクセスできます。

代表的なAPIを示します。詳細は各ページに記載しています。

URL HTTPメソッド 説明
/rest/session PUT ログオン
/rest/session DELETE ログオフ
/rest/session GET ログオンユーザの情報を取得
/rest/[モデル名]/list GET 一覧表示データを取得
/rest/[モデル名]/list POST 検索条件を指定してデータを取得
/rest/[モデル名]/entry/[主キー] GET 主キーで指定したデータを取得
/rest/[モデル名]/new GET データの新規登録を開始
/rest/[モデル名]/new POST データの新規登録を実行
/rest/[モデル名]/edit/[主キー] GET 主キーで指定したデータの更新を開始
/rest/[モデル名]/edit/[主キー] PUT 主キーで指定したデータの更新を実行
/rest/[モデル名]/edit/[主キー] DELETE 主キーで指定したデータを削除

本ガイドでは、RequestMapping という表記を使います。

@RequestMapping(value="/rest/session", method=PUT)

という表記は

http://localhost:8921/wagby/rest/session

method=PUT

でアクセスすることを示します。

また

produces="application/json"
という表記は、HTTPヘッダーに

Accept:application/json

を設定することを示します。

REST API 利用時も、通常の Web アプリケーションと同じく、通信路を暗号化しない限り、ログオン情報やデータは盗聴される危険があります。

このため実際の運用では、HTTP暗号化通信 (HTTPS) を使うようにしてください。具体的には「サーバ証明書」を購入します。WagbyアプリケーションはTomcatをベースにしているため、Tomcatへのサーバ証明書登録と同じ手順で設定できます。(詳細は「サーバ証明書」の発行元、もしくはWagby販売パートナーへお問い合わせください。)

REST API には二つのバージョンがあります。

バージョン 1 (旧方式)

R7.10.3までの形式です。JSONオブジェクトのキー名はキャメルケース形式になります。

例えば項目名 "user_address" は、JSONオブジェクトのキー名が "userAddress" になります。

Wagby R8 で、バージョン1は廃止されます。

バージョン 2 (標準方式)

R7.11で追加されました。JSONオブジェクトのキー名をキャメルケース形式から、項目名をそのまま出力します。

例えば項目名 "user_address" は、JSONオブジェクトのキー名も同じ "user_address" になります。

バージョンを選択する

R7.11以降の Wagby では、標準は「バージョン2」となっています。何らかの理由で「バージョン1」を使う場合は、次の対応を行なってください。

アプリケーション全体で指定する (非推奨)

「環境 > カスタマイズ > 詳細」の「REST API Version」を "v1" とします。空欄時は v2 となります。デフォルトは空欄 (v2) です。

図1 アプリケーション全体で指定する
この方法は将来の R8 への移行を困難としますので、次に説明する「モデルごとの指定」で、やむを得ない場合のみ v1 を使うように制限することを推奨します。

モデル単位で指定する

「画面 > その他 > REST」の「REST API Version」を "v1" とします。空欄時は v2 となります。デフォルトは空欄 (v2) です。

図2 モデル単位で指定する

呼び出すときにバージョンを指定する

REST API を利用する際にHTTPヘッダ X-Wagby-RESTAPIVersion: v1 を指定することができます。この場合、モデルのREST API Version が v2 でも、このアクセスにのみ v1 を使うことができます。v1 を使う必要があるがモデル定義を変更したくない場合は、この方式をご利用ください。

JSONオブジェクトのキー名の扱いを新方式(キャメルケースを使わない)に変更し、HTTPヘッダ X-Wagby-RESTAPIVersion: v2 を指定することもできます。この場合は、すべての REST API アクセスが新方式になります。

バージョン2のみのモデル

ポートレットやモダンカレンダービューは内部で REST API を利用していますが、R7.11 以降は v2 のみを取り扱います。(v1 に戻すことはできません。)

画面内の処理と併用して呼び出すことはできません

REST APIをWagbyの画面内の処理と併用して呼び出すといったカスタマイズには利用できません。

例えば JavaScript を使って、一覧更新画面内にて REST API を呼び出す、といったカスタマイズを行うことはできません。

Activie Directory / Open LDAP との併用はできません

Active Directory や Open LDAP などは CAS を経由して認証を行います。REST API は、この CAS 認証に対応していません。(将来の Wagby で対応させる予定です。今しばらくお待ちください。)