日頃の業務でWeb APIを実行する、といったシーンに出くわすことがあると思います。(Web API自体の開発や他サービスとの連携etc..)
Web APIの呼び出しには様々な方法がありますが、目的ややりたいことによって向き不向きがあります。
このページではそれぞれのツールの概要と向き不向きについて、著者の主観も交えて説明します。
curl
一番原始的な方法?OSのcurlコマンドでAPIを送信します。
例)
curl --location 'https://XXXXX.com/api/htt/v1/login' \
--header 'x-api-key: token' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token' \
--data '{
"loginId":"hogehoge",
"password":"hugahuga"
}'
向いてること
- 最近のOSには標準コマンドとして搭載されているため、インストール不要で使用することが出来ます。(OSによって若干コマンドの仕様が違ったりします)
- コマンドなので、PowerShellやLinuxコマンドと組み合わせることが容易にできます。実用例としては
- レスポンスのjsonを解析してcsvに変換して出力する
- 特定のパラメータを抜き出して一覧にする
- EXCELなどと組み合わせて、定型的なcurl文を量産する
etc..
向いていないこと
- コマンドをおぼえられないので、毎回調べる必要がある。
Postman
言わずと知れたWeb APIのクライアントツール。
https://www.postman.com/
向いていること
- UIが分かりやすく直感的。APIのインターフェース通りに画面に入力をしていけばAPIを投げられる。とりあえずAPI投げたいときにはこれ。
- 作ったリクエストをワークスペースで管理できる。API実行前後に処理を挟み込むこともでき、簡単な自動化などもできる。
向いていないこと
- 定型的なリクエストを大量に送ってデータを収集したいときなどには不向き。
プログラムでやる
APIクライアントの機能は大体の言語に標準搭載されています。
JavaだとHttpClient、PythonだったらRequestなど、、
向いていること
- データの加工、大量リクエストなどなんでもござれ。
向いていないこと
- プログラミングが大変。
まとめ
普段カジュアルにAPIを実行する分にはPostmanを。
定型業務のデータ収集で、大量のデータを扱ったりある程度自動化をしたい場合はcurlやプログラムが視野に入る感じでしょうか。