LaravelでAPIのインターフェイスを作成する

2018.11.8 (木)

とかいうタイトルですが普通にhttpプロトコルでリクエスと投げてレスポンスが返ってくるというだけの話です。RESTという観点で言えば認証のところがちょっとおもしろいというだけです。いわゆるあのRESTFULLでセッションを持たないという考え方です。それ以外は別に特に何も考えなくていいです。

ルーティングとエンドポイント

APIのエンドポイントの設定です。

Route::get('/foobar/search/standard', function(){
  echo "foobar";
});

“/foobar/search/standard”にアクセスしたら、Laravelはデフォルトで”/api/foobar/search/standard”がエンドポイントになります。”/api”がAPIのエンドポイントというアイデンティファイの仕方ですかね。
最もミニマムなAPIは、”/api/foobar/search/standard”というリクエストに対して”foobar”という文字列を返します。これが基本になります。
後々のお話になりますが、Laravelはコントローラの返り値に配列を設定し且つviewがない場合は自動的にjsonを返す仕組みになっているので、コントローラの作成だけでAPIの作成はほとんど可能と思っていて大丈夫です。