仕事の関係で、Laravel+Vueの開発をやっています。Laravelを使うのは初めてなので、学んだものを記録します。
学んだこと
Web APIの基本作りです。
今回はステータスコードのみ、非常にシンプルなレスポンスを返すWeb APIを作成してみました。
手順としては、
- API Controllerの作成
- Routeの設定
以上です。
API Controllerの作成
app/Http/Controllers
の配下にTestHttpStatus.php
を作成しました。
e404
, e500
という二つの関数を作成し、それぞれ400, 500のステータスコードを設定します。
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class TestHttpStatus extends Controller
{
public function e400(Request $request)
{
return response()->json([], 404, ['Content-Type' => 'application/json'], JSON_UNESCAPED_UNICODE);
}
public function e500(Request $request)
{
return response()->json([], 500, ['Content-Type' => 'application/json'], JSON_UNESCAPED_UNICODE);
}
}
Route
routes/api.php
にAPIのルートを追加する。
use App\Http\Controllers\TestHttpStatus;
...
Route::get('test_e404', [TestHttpStatus::class, 'e404'])->name('e404');
Route::get('test_e500', [TestHttpStatus::class, 'e500'])->name('e500');
http://localhost/test_e404
にアクセスすると400エラーが発生します。
http://localhost/test_e500
にアクセスすると500エラーが発生します。
応用
404, 500エラーをテストしたい時に使えると思います。
また、Routeの部分ですが、routes/api.php
ではなく、routes/web.php
にルートに設定するとカスタマイズの404, 500ページも検証できると思いました。
次回のチャンスがある際にメモします。