ポイント&クリックだけでDB からREST API を作成できるCData API Server で、MySQL のデータからREST API を作ります。
CData API Server をインストール
http://www.cdata.com/jp/apiserver/ 今回は、Windows 版で説明しています。 インストーラに従って、インストールを行ってください。
Windows 版もしくはJava/Linux 版を選択します。
インストール完了後にブラウザでAPI Server の管理コンソール画面が立ち上がります。インストール時に設定したadmin パスワードを入力してログインします。
管理コンソールで「情報」タブをクリックし、「30日の評価版をアクティベートする」をクリックします。 これで30日間の使用ライセンスが製品に設定されます。
MySQL とAPI Server の接続を確立
まずはこちらがデータソースとなるMySQL です。sakila というデモデータがあり、city というテーブルがあります。これをWeb API として公開します。 デモデータの落とし方
API Server のコンソールをブラウザで開きます。Windows メニューからCData API Server を開くと自動的にブラウザが立ち上がります。admin アカウントでログインします。
[設定]タブから[接続]をクリックします。 接続可能なデータソースが並んでいます。表示されているデータソースだけでなく、CData の対応する80以上のデータソースをAPI のデータソースとすることが可能です。
ここからMySQL のアイコンをクリックします。 MySQL の接続設定画面が開くので、接続情報を入力します。 - 名前:任意 - データベース:MysQL がプリセット - Server、Port、User、Password をDB の情報に沿って入力 入力して[テスト接続]を試し、成功したら[保存]します。
API として公開するリソースの設定
[設定]→[リソース]をクリックして、リソースを追加するウィザードを開きます。 先ほど作成した接続をクリックして、[OK]を押します。
リソースとするテーブルのリストが表示されますので、選択して[OK]を押します。
続いて、テーブル内のカラムのリストが出るので、リソースとするカラムをチェックします。
これでAPI として公開するリソース設定が完了です。
セキュリティ設定
ユーザー認証の設定を行います。[設定]→[ユーザー]→[追加]でユーザーを追加します。 ユーザー名とGET、POST、PUT、DELETE などの権限を付与、レートリミットを設定します。 [保存]すると新しいユーザーが追加され、Auth トークンが発行されます。
これで設定は完了です。
ブラウザからAPI を叩いてみる
まずは、[API]タブからドキュメントを参照します。上のリソース設定のプロセスを行うとドキュメントは自動生成されます。 リソースの下のエンドポイント名をクリックするとAPI ドキュメント参照できます。 GET、POST、PUT、DELETE それぞれのURL およびJavaScript/CURL でのAPI のリクエスト方法やパラメータが記載されています。
GET の脇の http://localhost:8387/api.rsc/RESOURSE/ をブラウザで叩いてみましょう。初回はAuth トークンの認証が要求されます。上で作成したユーザー名とAuth トークンを入力します。 たしかに、JSON 形式でMySQL 内のデータが返ってきました。
すこしJSON が見やすいPOSTMAN というツールからも試してみましょう。
このように、ポチポチとクリックするだけで、DB からREST API が作れてしまいました。