MySQL
api
rest
APIGateway
CData

MySQL のデータをCData API Server でポチポチだけでREST API として公開する

ポイント&クリックだけでDB からREST API を作成できるCData API Server で、MySQL のデータからREST API を作ります。
APIServerDiagram_JP4.png

CData API Server をインストール

http://www.cdata.com/jp/apiserver/
今回は、Windows 版で説明しています。
インストーラに従って、インストールを行ってください。
as2.png

Windows 版もしくはJava/Linux 版を選択します。
スクリーンショット (707).png

インストール完了後にブラウザでAPI Server の管理コンソール画面が立ち上がります。インストール時に設定したadmin パスワードを入力してログインします。
スクリーンショット (708).png

管理コンソールで「情報」タブをクリックし、「30日の評価版をアクティベートする」をクリックします。
これで30日間の使用ライセンスが製品に設定されます。
apiserverlicense.png

MySQL とAPI Server の接続を確立

まずはこちらがデータソースとなるMySQL です。sakila というデモデータがあり、city というテーブルがあります。これをWeb API として公開します。
デモデータの落とし方
as1.png

API Server のコンソールをブラウザで開きます。Windows メニューからCData API Server を開くと自動的にブラウザが立ち上がります。admin アカウントでログインします。
as4.png

[設定]タブから[接続]をクリックします。
接続可能なデータソースが並んでいます。表示されているデータソースだけでなく、CData の対応する80以上のデータソースをAPI のデータソースとすることが可能です。
as18.png

ここからMySQL のアイコンをクリックします。
MySQL の接続設定画面が開くので、接続情報を入力します。
- 名前:任意
- データベース:MysQL がプリセット
- Server、Port、User、Password をDB の情報に沿って入力
入力して[テスト接続]を試し、成功したら[保存]します。
as5.png

API として公開するリソースの設定

[設定]→[リソース]をクリックして、リソースを追加するウィザードを開きます。
先ほど作成した接続をクリックして、[OK]を押します。
as6.png

リソースとするテーブルのリストが表示されますので、選択して[OK]を押します。
as7.png

続いて、テーブル内のカラムのリストが出るので、リソースとするカラムをチェックします。
as8.png

これでAPI として公開するリソース設定が完了です。

セキュリティ設定

ユーザー認証の設定を行います。[設定]→[ユーザー]→[追加]でユーザーを追加します。
ユーザー名とGET、POST、PUT、DELETE などの権限を付与、レートリミットを設定します。
as9.png
[保存]すると新しいユーザーが追加され、Auth トークンが発行されます。
as10.png

これで設定は完了です。

ブラウザからAPI を叩いてみる

まずは、[API]タブからドキュメントを参照します。上のリソース設定のプロセスを行うとドキュメントは自動生成されます。
リソースの下のエンドポイント名をクリックするとAPI ドキュメント参照できます。
GET、POST、PUT、DELETE それぞれのURL およびJavaScript/CURL でのAPI のリクエスト方法やパラメータが記載されています。

as12.png

GET の脇の http://localhost:8387/api.rsc/RESOURSE/ をブラウザで叩いてみましょう。初回はAuth トークンの認証が要求されます。上で作成したユーザー名とAuth トークンを入力します。
たしかに、JSON 形式でMySQL 内のデータが返ってきました。
as13.png

すこしJSON が見やすいPOSTMAN というツールからも試してみましょう。
as14.png

このように、ポチポチとクリックするだけで、DB からREST API が作れてしまいました。