概要
とにかく大至急スタブAPIサーバが必要でした。
Laravelのルーティング設定だったらすぐできるな
↓
サーバどうしよう。PHP7のサーバが手元にない
↓
Elastic Beastalkでできるかな
Laravelの準備
Laravelのプロジェクトを新規に作成。
composer create-project --prefer-dist laravel/laravel stub-server --no-secure-http
モックなのでルーティングだけ書いて済ませます。
Route::get('test', function () {
$res = <<< END
{
"token": "token"
}
END;
return response($res)
->withHeaders([
'Content-Type' => 'application/json',
]);
});
アプリ側はこれだけです。
リクエストパラメータのバリデーションや、ステータス200以外も返したい場合はこれだと対応できないので、コントローラに書く必要があります。
zipでまとめる
Beanstalkにデプロイするにはいくつか方法がありますが、今回はzipファイルにして管理コンソールからアップします。
$ cd stub-server
$ zip ../laravel.zip -r * .[^.]*
Elastic Beanstalkの設定
管理コンソールのBeanstalkの画面で 新しいアプリケーションの作成 をクリックします。
アプリケーション名を入力して 作成 ボタンをクリック
以下のような画面に遷移するので 今すぐ作成しましょう をクリック
開いたウィンドウの ウェブサーバー環境 を選択して 選択 をクリック
URLを決めて 使用可能かチェック をクリックします。使用可能なら下記のようになります。
プラットフォームに PHP 、アプリケーションコードに コードのアップロード を選択し アップロード ボタンをクリックします。
先ほど作成したZIPファイルを選択し アップロード します。
作成が始まります。
5分ほどで作成完了します。 ※現在アプリは削除済みです
ただ、このままではアクセスしても403エラーになるので、最後にドキュメントルートの設定を行います。
設定後、自動的に環境に反映されるのを待って ドメイン/api/XXXXXXXXX
にアクセスすると、、、
表示されました😃
今回はここまでですが、HTTPS化したいですね。