LoginSignup
3
2

More than 5 years have passed since last update.

CData Software ハンズオン(CData API Server で作成したWebAPIにPostmanからアクセス)

Last updated at Posted at 2018-03-04

使用する製品

前提

下記の手順を実施してブラウザからCData API Serverにアクセス出来る事。

CData Software ハンズオン(RDBからWebAPIをポイント&クリックで作成 編)

手順

データの取得(GET:Select)

CData API ServerのAPIタブを開き、作成したAPIのリソース(例:sakila_actor)のHTTPメソッドのGETのURLエンドポイント(例: http://localhost:8387/api.rsc/sakila_actor/ )を手元に控えておきます。

image.png

また、「設定 > ユーザー」タブで作成した、ユーザのAuthトークンを控えておきます。権限が、GET(読み取り) だけでなくPOST,PUT,MERGE,PATCH,DELETEといった更新系のメソッドも付与してください。

image.png

Postmanを起動します。CreateNewのダイアログが表示されますが、今回は右上の×ボタンをクリックしてダイアログを閉じます。

image.png

右側のNewTabでHTTPメソッドが「GET(取得)」となっていることを確認して右横の「Enter request URL」に先の手順で手元に控えたURLエンドポイント(例: http://localhost:8387/api.rsc/sakila_actor/ )をセットします。URLの下に、「Authorization」「Headers」といったタブが並んでいるので「Headers」を開き、HTTPリクエストのHeaderに指定するAuthトークンの情報をセットします。

Key Value
x-cdata-authtoken 上記手順で取得したAuthトークンの値

image.png

青い「Send」ボタンをクリックしてリクエストを投げてみます。下部のレスポンスの「Body」として、MySQLの該当テーブルに格納されているデータがJSON形式のデータとして表示されれば成功です。

image.png

MySQL Workbenchを開き、該当テーブルのデータを取得して同じ内容か確認してみます。

image.png

データの作成(POST:Insert)

再び、CData API ServerのAPIタブを開き、作成したAPIのリソース(例:sakila_actor)のHTTPメソッドのPOSTのURLエンドポイント(例: http://localhost:8387/api.rsc/sakila_actor/ )を手元に控えておきます。また、POSTのレコードを開くとJavascriptからの呼び出しサンプルが表示されます。「Javascript」を「CURL」に切り替えるとコマンドラインCURLでの実行サンプルが表示されます。

image.png

下記例の青文字部分が、MySQLに登録する値でJSON形式のデータとなります。

image.png

「actor_id」と「last_update」は自動でセットされる項目なので「first_name」「last_name」のみのjSONデータを準備します。

{
 "first_name": "テスト名1",
 "last_name": "テスト姓1"
}

Postmanで新しいタブを作成して下記の情報をセットします。
| 項目 | 値 |
|:-----------------|:------------------|
| HTTPメソッド | POST |
| Request URL | 例: http://localhost:8387/api.rsc/sakila_actor/ |
| Headersタブ | 上記GETの手順と同じAuthトークンの情報をセット |
| Boadyタブ | 「raw」を選択、 「Text」から「JSON(application/json)に変更、 上記のJSONデータをセット|

青い「Send」ボタンをクリックしてリクエストを投げてみます。Responseの「Status:201 created」で、下部のレスポンスの「Body」として登録したJSON形式のデータとして表示されれば成功です。

image.png

MySQL Workbenchを開き、該当テーブルのデータを再度取得してデータが登録されたか確認してみます。

image.png

データの更新(PUT:Update)

再び、CData API ServerのAPIタブを開き、作成したAPIのリソース(例:sakila_actor)のHTTPメソッドのPUTのURLエンドポイント(例: http://localhost:8387/api.rsc/sakila_actor() )を手元に控えておきます。「actor_id」部分は更新するレコードの「actor_id」(例:http://localhost:8387/api.rsc/sakila_actor(201) )をセットしてください。

image.png

更新するJSONデータを準備します。

{
 "first_name": "CData",
 "last_name": "太郎"
}

Postmanで新しいタブを作成して下記の情報をセットします。
| 項目 | 値 |
|:-----------------|:------------------|
| HTTPメソッド | PUT |
| Request URL | 例: http://localhost:8387/api.rsc/sakila_actor(201) |
| Headersタブ | 上記GETの手順と同じAuthトークンの情報をセット |
| Boadyタブ | 「raw」を選択、 「Text」から「JSON(application/json)に変更、 上記のJSONデータをセット|

青い「Send」ボタンをクリックしてリクエストを投げてみます。Responseの「Status:200 OK」で、下部のレスポンスの「Body」として更新したJSON形式のデータとして表示されれば成功です。

image.png

MySQL Workbenchを開き、該当テーブルのデータを再度取得してデータが更新されたか確認してみます。

image.png

データの削除(DELETE:Delete)

再び、CData API ServerのAPIタブを開き、作成したAPIのリソース(例:sakila_actor)のHTTPメソッドのDeleteのURLエンドポイント(例: http://localhost:8387/api.rsc/sakila_actor() )を手元に控えておきます。「actor_id」部分は削除するレコードの「actor_id」(例:http://localhost:8387/api.rsc/sakila_actor(201) )をセットしてください。

image.png

Postmanで新しいタブを作成して下記の情報をセットします。
| 項目 | 値 |
|:-----------------|:------------------|
| HTTPメソッド | DELETE |
| Request URL | 例: http://localhost:8387/api.rsc/sakila_actor(201) |
| Headersタブ | 上記GETの手順と同じAuthトークンの情報をセット |

青い「Send」ボタンをクリックしてリクエストを投げてみます。Responseの「Status:204 No Content」が表示されれば成功です。

image.png

MySQL Workbenchを開き、該当テーブルのデータを再度取得してデータが削除されたか確認してみます。

image.png

まとめ

PostmanからのHTTPリクエストでMySQLのデータのCRUD操作を行うことができました。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2