もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

inertiajsで404ページを出したい

はじめに

こんばんは。

さいきんはInertiajsを使っています僕です。

今回は。inertiajs使用下で404ページを表示する方法です。

基本的に公式のままやればOKです。

inertiajs.com

本題

app/Exceptions/Hander.php

    /**
     * @param $request
     * @param Throwable $e
     * @return JsonResponse|RedirectResponse|Response
     * @throws Throwable
     */
    public function render($request, Throwable $e)
    {
        $response = parent::render($request, $e);

        if (
            !app()->environment(['local', 'testing'])
            && in_array($response->getStatusCode(), [500, 503, 404, 403], true)
        ) {
            return Inertia::render('Error', [
                'status' => $response->getStatusCode()
            ])->toResponse($request)->setStatusCode($response->getStatusCode());
        } elseif ($response->getStatusCode() === 419) {
            return back()->with([
                'message' => __('The page expired, please try again.'),
            ]);
        }

        return $response;
    }

!app()->environment(['local', 'testing']) のところは !config('app.debug') とかでもいいかもですね。

終わりに

最近はinertiaの開発も慣れてきました。

今週も頑張るぞ!