curl コマンドで REST API を試す

最終更新日: 2022年8月20日

API一覧

「REST API 仕様」をお読みください。

準備

curl コマンドが利用できるようにしてください。

Windows 10/11 では curl が標準で利用できるようになっています。コマンドプロンプトを起動し、次のコマンドが動作することを確認します。

curl --version
curlコマンドの動作確認

その他の開発環境をご利用の場合、その開発環境にあわせて curl コマンドをインストールしてください。(curl コマンドのインストール方法は割愛します。)

コマンドの確認

Swagger Editor を利用できる場合、右側の API 一覧から Curl コマンドの形式を確認することができます。

コマンドの確認

一覧

"お客様" 部分は、契約している開発環境のURLにあわせてください。"ログオンアカウントとパスワード" はREST 呼び出し行うユーザーIDとパスワードをコロンで区切ったものを BASE64 で符号化(エンコード)したものを指定します。

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: ログオンアカウントとパスワード"
一覧コマンドの実行(1)

BASE64符号化文字列の作成方法

Googleなどの検索エンジンで "base64 エンコード" などで検索するとさまざまなツールやネット上のサービスがみつかります。いずれかの方法をご利用ください。

例えばユーザー admin, パスワード wagby の組み合わせ "admin:wagby" を BASE64 で符号化すると "YWRtaW46d2FnYnk=" となります。

なお、admin (管理者) のパスワードはお使いの開発環境ごとに定められています。

管理者初期パスワードをDesignerで確認する

戻り値がJSON形式文字列で返されます。

一覧コマンドの実行(2)

パラメータを指定する

このAPIは「取得開始位置 (_start)」「取得終了位置 (_end)」「並び順 (_order)」「ソート項目 (_sort)」を指定することができます。ここでは取得終了位置を "5" とし、並び順を "ASC" (昇順) から "DESC" (降順) に変更した例を示します。

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"
}

curlコマンドでは次のようになります。

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\"}"
新規登録コマンドの実行

このCUSTOMERモデルは主キー(ID)は順序値による自動採番方式となっていました。新規登録が成功すると自動的にIDがセットされていることがわかります。

注意

Windows のコマンドプロンプト利用時は1行で入力してください。-dのあとに記載するJSON文字列部分では、ダブルクォーテーションはエスケープする必要があります。また日本語の入力は失敗するため、英数字を使ってください。

取得(1件)

主キー 1016 の値を取得するとします。

curlコマンドでは次のようになります。

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="
1件取得するコマンドの実行

wbversion

次の操作でデータの更新を行います。ここで取得された JSON データに含まれる "wbversion" の数値をメモしておいてください。更新時に必要となります。(この図の例では "0" となっています。)

wbversionは楽観ロックを制御するための値です。取得時に得られた値を更新時に送信します。他に誰もこのデータを更新していないかどうかを、wbversion の値を使って(Wagbyが内部で)確認します。

更新

主キー 1016 の値を更新するとします。次の内容を送信します。

{
  "id": 1016,
  "NAME": "ジャスミン太郎",
  "KANANAME": "ジャスミンタロウ",
  "COMPANYNAME": "ジャスミンソフト",
  "COMPANYADDRESS": "沖縄県宜野湾市宇地泊902-1",
  "FOUNDED": "2001-03-14",
  "INDUSTRY": "ソフトウェア業",
  "NOTE": "ジャスミンソフトは、ノーコード・ローコード開発プラットフォームの国内ベンダーです。",
  "wbversion": 0
}

curlコマンドでは次のようになります。

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\"}"
更新コマンドの実行

楽観ロックエラーの場合

他の誰かが、同じデータをすでに更新した場合、wbversion の値が一つ加算されます。その後に同じデータを更新しようとすると wbversion の値が古いため Wagby はこの更新データは古いと判断し、この更新を失敗させます。これは Wagby の正しい動作です。

注意

Windows のコマンドプロンプト利用時は1行で入力してください。-dのあとに記載するJSON文字列部分では、ダブルクォーテーションはエスケープする必要があります。また日本語およびコンマ文字の入力は失敗するため、英数字を使ってください。

削除

主キー 1000 の値を削除するとします。

curlコマンドでは次のようになります。

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:アカウントパスワード"
削除コマンドの実行

新規登録用データの準備

新規登録用のデータを1件取得できます。これはWagbyのスクリプト「登録(初期データ作成)」が実行されたあとのデータとなっています。

curlコマンドでは次のようになります。

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:アカウントパスワード"
新規登録データ取得コマンドの実行

主キーはまだ割り当てられていません。この値をベースに、いくつかの入力欄を埋めて新規登録APIを呼び出すとよいでしょう。