curl コマンドで REST API を試す
最終更新日: 2022年8月20日
curl コマンドが利用できるようにしてください。
Windows 10/11 では curl が標準で利用できるようになっています。コマンドプロンプトを起動し、次のコマンドが動作することを確認します。
その他の開発環境をご利用の場合、その開発環境にあわせて curl コマンドをインストールしてください。(curl コマンドのインストール方法は割愛します。)
Swagger Editor を利用できる場合、右側の API 一覧から Curl コマンドの形式を確認することができます。
"お客様" 部分は、契約している開発環境のURLにあわせてください。"ログオンアカウントとパスワード" はREST 呼び出し行うユーザーIDとパスワードをコロンで区切ったものを BASE64 で符号化(エンコード)したものを指定します。
Googleなどの検索エンジンで "base64 エンコード" などで検索するとさまざまなツールやネット上のサービスがみつかります。いずれかの方法をご利用ください。
例えばユーザー admin, パスワード wagby の組み合わせ "admin:wagby" を BASE64 で符号化すると "YWRtaW46d2FnYnk=" となります。
なお、admin (管理者) のパスワードはお使いの開発環境ごとに定められています。
戻り値がJSON形式文字列で返されます。
このAPIは「取得開始位置 (_start)」「取得終了位置 (_end)」「並び順 (_order)」「ソート項目 (_sort)」を指定することができます。ここでは取得終了位置を "5" とし、並び順を "ASC" (昇順) から "DESC" (降順) に変更した例を示します。
次の登録データを送信するとします。
curlコマンドでは次のようになります。
このCUSTOMERモデルは主キー(ID)は順序値による自動採番方式となっていました。新規登録が成功すると自動的にIDがセットされていることがわかります。
Windows のコマンドプロンプト利用時は1行で入力してください。-dのあとに記載するJSON文字列部分では、ダブルクォーテーションはエスケープする必要があります。また日本語の入力は失敗するため、英数字を使ってください。
主キー 1016 の値を取得するとします。
curlコマンドでは次のようになります。
次の操作でデータの更新を行います。ここで取得された JSON データに含まれる "wbversion" の数値をメモしておいてください。更新時に必要となります。(この図の例では "0" となっています。)
wbversionは楽観ロックを制御するための値です。取得時に得られた値を更新時に送信します。他に誰もこのデータを更新していないかどうかを、wbversion の値を使って(Wagbyが内部で)確認します。
主キー 1016 の値を更新するとします。次の内容を送信します。
curlコマンドでは次のようになります。
他の誰かが、同じデータをすでに更新した場合、wbversion の値が一つ加算されます。その後に同じデータを更新しようとすると wbversion の値が古いため Wagby はこの更新データは古いと判断し、この更新を失敗させます。これは Wagby の正しい動作です。
Windows のコマンドプロンプト利用時は1行で入力してください。-dのあとに記載するJSON文字列部分では、ダブルクォーテーションはエスケープする必要があります。また日本語およびコンマ文字の入力は失敗するため、英数字を使ってください。
主キー 1000 の値を削除するとします。
curlコマンドでは次のようになります。
新規登録用のデータを1件取得できます。これはWagbyのスクリプト「登録(初期データ作成)」が実行されたあとのデータとなっています。
curlコマンドでは次のようになります。
主キーはまだ割り当てられていません。この値をベースに、いくつかの入力欄を埋めて新規登録APIを呼び出すとよいでしょう。
API一覧
準備
curl --version
コマンドの確認
一覧
curl -X "GET" "https://お客様.dev.wagby.com/wagby/v3/CUSTOMER?_start=0&_end=10&_order=ASC&_sort=id" -H "accept: application/json" -H "X-Wagby-Authorization: ログオンアカウントとパスワード"
BASE64符号化文字列の作成方法
パラメータを指定する
curl -X "GET" "https://お客様.dev.wagby.com/wagby/v3/CUSTOMER?_start=0&_end=5&_order=DESC&_sort=id" -H "accept: application/json" -H "X-Wagby-Authorization: ログオンアカウントとパスワード"
新規登録
{
"NAME": "JasmineTaro",
"COMPANYNAME": "JasmineSoft",
"INDUSTRY": "Software"
}
Linux/Mac OS
curl -X 'POST' \
'https://お客様.dev.wagby.com/wagby/v3/CUSTOMER' \
-H 'accept: application/json' \
-H 'X-Wagby-Authorization: ログオンアカウントとパスワード' \
-H 'Content-Type: application/json' \
-d '{
"NAME": "ジャスミン太郎",
"COMPANYNAME": "ジャスミンソフト",
"INDUSTRY": "ソフトウェア業"
}'
Windows コマンドプロンプト
curl -X POST "https://お客様.dev.wagby.com/wagby/v3/CUSTOMER" -H "accept:application/json" -H "X-Wagby-Authorization:ログオンアカウントとパスワード" -H "Content-Type:application/json" -d "{\"NAME\":\"JasmineTaro\",\"COMPANYNAME\":\"JasmineSoft\",\"INDUSTRY\":\"Software\"}"
注意
取得(1件)
Linux/Mac OS
curl -X 'GET' \
'https://お客様.dev.wagby.com/wagby/v3/CUSTOMER/1016' \
-H 'accept: application/json' \
-H 'X-Wagby-Authorization: アカウントとパスワード'
Windows コマンドプロンプト
curl -X GET "https://jasoyah0.dev.wagby.com/wagby/v3/CUSTOMER/1016" -H "accept:application/json" -H "X-Wagby-Authorization:YWRtaW46TUxFSmdrUmw="
wbversion
更新
{
"id": 1016,
"NAME": "ジャスミン太郎",
"KANANAME": "ジャスミンタロウ",
"COMPANYNAME": "ジャスミンソフト",
"COMPANYADDRESS": "沖縄県宜野湾市宇地泊902-1",
"FOUNDED": "2001-03-14",
"INDUSTRY": "ソフトウェア業",
"NOTE": "ジャスミンソフトは、ノーコード・ローコード開発プラットフォームの国内ベンダーです。",
"wbversion": 0
}
Linux/Mac OS
curl -X 'PUT' \
'https://お客様.dev.wagby.com/wagby/v3/CUSTOMER/1016' \
-H 'accept: application/json' \
-H 'X-Wagby-Authorization: アカウントパスワード' \
-H 'Content-Type: application/json' \
-d '{
"id": 1016,
"NAME": "ジャスミン太郎",
"KANANAME": "ジャスミンタロウ",
"COMPANYNAME": "ジャスミンソフト",
"COMPANYADDRESS": "沖縄県宜野湾市宇地泊902-1",
"FOUNDED": "2001-03-14",
"INDUSTRY": "ソフトウェア業",
"NOTE": "ジャスミンソフトは、ノーコード・ローコード開発プラットフォームの国内ベンダーです。",
"wbversion": 0
}'
Windows コマンドプロンプト
curl -X PUT "https://お客様.dev.wagby.com/wagby/v3/CUSTOMER/1016" -H "accept:application/json" -H "X-Wagby-Authorization:アカウントパスワード=" -H "Content-Type:application/json" -d "{\"id\":\"1016\",\"NAME\":\"JasmineTaro\",\"COMPANYNAME\":\"JasmineSoft\",\"COMPANYADDRESS\":\"902-1 Uchidomari Ginowan City Okinawa\",\"FOUNDED\":\"2001-03-14\",\"INDUSTRY\":\"Software\",\"wbversion\":\"0\"}"
楽観ロックエラーの場合
注意
削除
Linux/Mac OS
curl -X 'DELETE' \
'https://お客様.dev.wagby.com/wagby/v3/CUSTOMER/1000' \
-H 'accept: application/json' \
-H 'X-Wagby-Authorization: アカウントパスワード'
Windows コマンドプロンプト
curl -X DELETE "https://お客様.dev.wagby.com/wagby/v3/CUSTOMER/1000" -H "accept:application/json" -H "X-Wagby-Authorization:アカウントパスワード"
新規登録用データの準備
Linux/Mac OS
curl -X 'GET' \
'https://お客様.dev.wagby.com/wagby/v3/CUSTOMER/_' \
-H 'accept: application/json' \
-H 'X-Wagby-Authorization: アカウントパスワード'
Windows コマンドプロンプト
curl -X GET "https://お客様.dev.wagby.com/wagby/v3/CUSTOMER/_" -H "accept:application/json" -H "X-Wagby-Authorization:アカウントパスワード"