とりあえずAPIのスタブつくろう
APIとのやり取りを実装するのに仮のAPIをパパっと作って、ささっと自分の実装する箇所をある程度作ろう
というのが事の始まりです
スタブAPI
このPHPファイルを仮サーバーにおいてこいつと通信する。
例ではPOSTパラメータはname
を受け取って、その値に対して'_RECEIVED'
を付加して、時間とともにjsonにして返す
てな感じの処理をしてます。
また、受け取ったlogも出力するようにしてます。
api.php
<?php
/* スタブAPIが受け付けるPOSTパラメーター:name */
// header('Access-Control-Allow-Origin: *'); // どこからでもアクセス許可するならワイルドカード
header('Access-Control-Allow-Origin: https://*******/post.php');
header('Access-Control-Allow-Credentials: true'); // Basic認証やCookieのやり取りする際は必要(ワイルドカード使用すると使えない)
header('Access-Control-Allow-Headers: Content-Type');
header('Content-Type: application/json; charset=utf-8');
date_default_timezone_set('Asia/Tokyo');
if(isset($_POST['name']) === false || $_POST['name'] === '') {
$_POST['name'] = 'TEST_API';
}
$postName = htmlspecialchars($_POST['name'], ENT_QUOTES);
$array = [
'name' => $postName . '_RECEIVED', // API側で受け取ったよというマーク的なやつを付加
'date' => date("Y-m-d H:i:s"),
];
$json = json_encode($array);
/* logをAPI側のサーバーに出力する */
$file = new SplFileObject('log.txt', 'a');
$file->fwrite(
"【→API】RequestParameter:" . $postName . "'\n【←API】ReturnParameter :" . $json . "\n----------\n"
);
echo $json;
exit;
単純にapi.phpにアクセスすると↓こんな感じで表示されるはず。
{"name":"TEST_API_RECEIVED","date":"2018-02-08 13:47:14"}
もし、呼び出し元でnameをPOSTすると
{"name":"YOBIDASHI_RECEIVED","date":"2018-02-08 13:48:45"}
みたいな感じでname
のとこが**【POSTした値+_RECEIVED】**に変わってるはず
おわり
-
header
の設定箇所が不安なので指摘あれば教えてくださいです - あとスタブって使い方あってます?