3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravelで404, 500ステータスコードを返すシンプルなAPI実装

Last updated at Posted at 2021-04-05

仕事の関係で、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ページも検証できると思いました。
次回のチャンスがある際にメモします。

3
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?