APIリクエストで意図通りにPOSTできてるか知りたい
開発しているとほぼ必ずAPIを叩く必要性が出てきますが、たまに「1アカウントにつき1回しか叩けない」APIの場合もあります。
Mockoonというはちゃめちゃに便利そうなツールの存在を情弱ゆえ今さっき知ったのですが、到達確認ぐらいならこれでほぼほぼ事足りるでしょう。
しかし慣れてるフレームワーク等使っていればそんなに心配しないのですが、理解がいまいちの環境や言語だったりの時のAPI通信処理を書く時は自分は結構どきどきします。
POSTとかでBodyが意図通りに積めているのか確認したい、でもAPI自体はほいほい叩けないし…という時用に、積まれたBodyをファイルに吐くだけのPHPスクリプト用意しました。
ほぼ自分用備忘録です。
スクリプト
uploads
というディレクトリを事前に作っておき、受け取った内容をresult-JST-T-m-d:H-i-s.txt
形式のファイルに書き出すだけです。
ドキュメントルートとかにおいてローカルサーバー立ち上げて使ってます。
sample_api.php
<?php
header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Headers: Origin, Authorization, X-Requested-With, Content-Type, Accept');
date_default_timezone_set('Asia/Tokyo');
$file_path = "uploads/result-" . date('T-m-d:H-i-s') . '.txt';
$json_string = file_get_contents('php://input');
$result = file_put_contents($file_path, $json_string);
echo($json_string);
if ($result) {
echo json_encode([
'success' => true,
'message' => ''
]);
} else {
echo json_encode([
'success' => false,
'message' => 'error'
]);
}
構成例
$ tree
.
├── sample_api.php
└── uploads
├── result-JST-09-08:18-24-37.txt
└── result-JST-09-08:19-17-29.txt
感想
適当にStub用のAPIプロジェクト作ってRunさせておけば万事解決だと思うんです。
それを面倒くさがった結果余計めんどくさそうなことをしていました。
自覚はあります。学ぼうと思います。