本記事では、ソフトウェアをインストールせずにWebAPIを実行する方法を記載します。
バックエンドAPIを開発中だが、開発したAPIを外部から実行してテストしたい。
だけど、ソフトウェアのインストールは会社の規定で申請が必要なのでしたくない。
と、思ってる方におすすめです。
この記事では、以下のことを紹介してます。
- WebAPIをソフトウェアをインストールせずに実行する方法
- 大量リクエストを実行するバッチプログラムの紹介
WebAPIの実行方法として、Postmanというメジャーなツールが存在します。
しかし、お客さまの環境での開発や社内で開発をしている場合、ソフトウェアのインストールに制限があり、インストールのために申請が必要だったりします。このような場合にすぐに作業ができなくなり困ります。
本記事では、そういう場面に遭遇した場合に役立つ内容を紹介します。
WebAPIを実行する方法
結論からいいますと、curlというコマンドを利用します。
curlコマンドとは、HTTPやHTTPS通信を実行できるコマンドツールです。下記サイトでわかりやすく記載されています。
curlコマンドはWindowsの場合だとコマンドプロンプト上で実行します。
コマンドは以下のように実行します。
curl -X POST -H "Content-Type: application/json" -d '{"key1":"value1","key2":"value2"}' http://example.com/api/resource
「-X」コマンドでPOSTやGETを指定、「-X」オプションでContent-Typeを指定し、「-d」オプションで送信するデータを指定します。
パラメータを別ファイルとして管理することも可能です。以下のようにファイルを指定することができます。
curl -d @data.json -H "Content-Type: application/json" https://example.com/api/resourse
curlコマンド自動作成バッチ
少し話は変わりますが、大量のcurlコマンドを作成しなければならなくなった時に作成したプログラムを紹介します。
以下のプログラムは、特定のフォルダに存在するjsonファイルを読み込み、そのファイル数分のcurlコマンドを発行するWindowsバッチファイルです。
実行準備として、特定のフォルダにリクエストを行うjsonファイルを格納し、実行します。
実行後、curlコマンドのテキストファイルが作成されます。
ファイル作成後、コマンドプロンプト上でテキストファイルの内容をコピーアンドペーストで貼り付けることで、curlコマンドが実行されます。
@echo off
setlocal enabledelayedexpansion
set "folder_path=C:\Path\To\Your\Folder"
set "output_file=output_commands.txt"
if not exist "%folder_path%" (
echo Folder not found: %folder_path%
exit /b 1
)
if not exist "%output_file%" (
type nul > "%output_file%"
) else (
del "%output_file%"
)
for %%i in ("%folder_path%\*.json") do (
set "file_name=%%~nxi"
set "curl_command=curl -X POST -H "Content-Type: application/json" -d @%file_name% http://example.com/api/resource"
echo !curl_command! >> "%output_file%"
)
echo Commands have been written to %output_file%
exit /b 0
jsonファイルを相対パスで指定する場合のプログラムは以下となります。
@echo off
setlocal enabledelayedexpansion
rem バッチファイルのディレクトリを取得
set "script_dir=%~dp0"
rem 相対パスで指定するフォルダ
set "relative_folder=..\OtherFolder"
rem 絶対パスを構築
set "absolute_path=!script_dir!!relative_folder!"
echo Absolute Path: !absolute_path!
rem ここから先は absolute_path を使用して処理を続ける
まとめ
本記事では、ソフトウェアをインストールせずにWebAPIを実行する方法を紹介しました。
社内や顧客環境の制約によってソフトウェアのインストールに申請などの手続きが存在する場合でも、WebAPIの開発をストップさせないために役立つ内容を紹介しました。
本記事が皆様の参考になれば幸いです。
コメント