Edited at

受け取った内容をファイルに吐くだけのスクリプト


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させておけば万事解決だと思うんです。

それを面倒くさがった結果余計めんどくさそうなことをしていました。

自覚はあります。学ぼうと思います。