LoginSignup
0
0

More than 3 years have passed since last update.

REST APIスタブをローカルサーバーで確認する

Last updated at Posted at 2019-09-09

ステージング環境が複数あって、ローカルやら一部の環境でCORSのせいで塞がれてるとか、まだAPI通ってないとか諸々の理由でぶっころ解消しようとしたメモ

結論: Macに最初から入ってるPHP使えばよかったね。

  • php -S localhost(:port) -t dist/ みたいなのでビルトインサーバーを立てる
  • PHPファイルを作成する(index.php的なヤツ)
    • ResponseHeaderに Content-type: applucation/json を入れて
    • 配列データをphpの書式で格納し( $data = array() など)
    • echo json_encode($data); で出力してやると
  • 返却がjsonになるので
  • 配置先を本番に合わせたディレクトリ構造にすればエンドポイント的なのが作成できる。
  • ルートパスにすればhostnameが変わっても大丈夫なんじゃないかな
<?php
  header('Access-Control-Allow-Origin: *');
  header('Access-Control-Allow-Headers: *');
  header('Content-type: application/json; charset=UTF-8');

  $data = array(
    'status' => 200,
    'lottery' => array(
      'member_id' => '1234567',
      'message' => [
        array(
          '402' => '未エントリーです'
        ),
        array(
          '403' => '○○○設定になっていません'
        ),
        array(
          '404' => 'すでに抽選済です'
        ),
        array(
          '405' => '実績を取得できませんでした'
        )
      ],
      'is_entry' => 0,
      'is_hogehoge' => 0,
      'rsv_results_count' => 1,
      'is_lottery' => 0,
    )
  );

  echo json_encode($data);
?>

あとはjsなり何なりから叩けばよいかと。

色々考えたけどjson-serverだの何だのやらなくてもええやんけ!となったのでした。

おわり

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0