Laravel

【Laravel9】APIのURLプレフィックス(api/)を変更する方法 接頭語をカスタマイズまたは削除する手順

開発環境

  • Laravel9

概要

LaravelでAPIを作成すると、URLの最初にapiを付ける必要があります。

このプレフィックス(接頭語)を、なくして

http://127.0.0.1.8000/items

にする方法や、

http://127.0.0.1.8000/v1/items

など、プレフィックスをapiから別の文字に変更したいことがあると思います。

毎回プロジェクトの最初に設定してその後忘れてしまうので、

Laravel9で任意のプレフィックスに変更する方法について備忘録として残します。

結論

RouteServiceProvider.php 33行目のprefix() メソッドの引数を変更する

    /**
     * Define your route model bindings, pattern filters, and other route configuration.
     *
     * @return void
     */
    public function boot()
    {
        $this->configureRateLimiting();

        $this->routes(function () {
            Route::middleware('api')
                ->prefix('api')  //ここを変更
                ->group(base_path('routes/api.php'));

            Route::middleware('web')
                ->group(base_path('routes/web.php'));
        });
    }

プレフィックスをなくしたいとき

        $this->routes(function () {
            Route::middleware('api')
                ->prefix('')
                ->group(base_path('routes/api.php'));

プレフィックスをv1にしたいとき

        $this->routes(function () {
            Route::middleware('api')
                ->prefix('v1')
                ->group(base_path('routes/api.php'));

Laravel8から少し変わっているため、Laravel9で設定の際はぜひご参考に

-Laravel