ホームページ > バックエンド開発 > PHPチュートリアル > Laravel 11のAPIバージョン化

Laravel 11のAPIバージョン化

Emily Anne Brown
リリース: 2025-03-06 02:23:12
オリジナル
371 人が閲覧しました

Laravel 11のリリースにより、アプリケーションスケルトンはスリムにされ、すべてのプロジェクトで不要な追加ファイルを削除しました。その変更の一部は、

AppServiceProvider更新されたアプリケーションの別の部分が、デフォルトのインストールでAPIルートを削除しています。アプリケーションにAPIを追加するか、LaravelでAPIのみを作成することを計画しているとします。その場合、職人のコマンドで

ミドルウェアグループとルートをセットアップできます。

api ルートファイル(および構成)、個人アクセストークン用のデータベース移行、およびSanctum構成ファイルを設定します。 APIのバージョンをバージョンする必要がない場合、それはあなたがする必要があるすべてです。

<!-- Syntax highlighted by torchlight.dev -->php artisan install:api
ログイン後にコピー
ログイン後にコピー

#個別のファイルでAPIをバージョンしますinstall:api LaravelでバージョンされたAPIを作成するための一般的なアプローチは、ルートを異なるファイルに分離することです。そうすることで、特定のAPIバージョンに関する推論のオーバーヘッドが簡素化され、物事を整頓します。 Laravel 10以前では、一般的なアプローチでは、各APIバージョンの追加のルートファイルをapi.phpに追加することです。

上記の例では、通常、

はlaravel Sanctumの

エンドポイントを提供し、APIルートの残りは適切なバージョンに隠れています。

#laravel 11 RouteServiceProviderでAPIをバージョンします ルートブートストラップが

から
<!-- Syntax highlighted by torchlight.dev -->$this->routes(function () {
    Route::middleware('api')
        ->prefix('api')
        ->group(base_path('routes/api.php'));

    Route::middleware('api')
        ->prefix('api/v1')
        ->group(base_path('routes/api_v1.php'));

    Route::middleware('api')
        ->prefix('api/v2')
        ->group(base_path('routes/api_v2.php'));

    Route::middleware('web')
        ->group(base_path('routes/web.php'));
});
ログイン後にコピー
に移動し、

にAPIのバージョンをバージョンできるいくつかの方法があります。 routes/api.php最初に、いくつかのファイルを生成して、ルーティングの設定を実証しましょう。 /user

自分に合ったファイル名と場所を使用してください。

次に、

ファイルを開き、ファイルの下部に次の行を追加します。 RouteServiceProvider bootstrap/app.php,上記のコードが

にあることを意味します。

ルートプレフィックス内で既に作業しており、

ミドルウェアグループを使用しています。
<!-- Syntax highlighted by torchlight.dev -->touch routes/api_v1.php
touch routes/api_v2.php

php artisan make:controller --api Api/V1/PostsController
php artisan make:controller --api Api/V2/PostsController
ログイン後にコピー
次に、各バージョンのルートリストを視覚化できるように、それぞれのAPIバージョンの例を追加しましょう。

ここにファイルがあります:

およびroutes/api.phpファイル:

<!-- Syntax highlighted by torchlight.dev -->Route::prefix('v1')->group(base_path('routes/api_v1.php'));
Route::prefix('v2')->group(base_path('routes/api_v2.php'));
ログイン後にコピー
ルートファイルが定義されている

を使用して、api.php、バージョンされたルートを見ることができます!api api

Proのヒント:api_v1.phpフラグを使用してバージョンされたルートを分離でき、特定のAPIバージョンに簡単に集中できます。

<!-- Syntax highlighted by torchlight.dev --><?php

use App\Http\Controllers\Api\V1\PostsController;

Route::apiResource('posts', PostsController::class);
ログイン後にコピー

api_v2.phpのためにルートを出力するだけの場合、どのように整頓されているかをチェックしてください。

<!-- Syntax highlighted by torchlight.dev --><?php

use App\Http\Controllers\Api\V2\PostsController;

Route::apiResource('posts', PostsController::class);
ログイン後にコピー

route:list

#defining bootstrapファイルのバージョンされたルート

私が見たもう1つのアプローチは、bootstrap/app.php引数を使用してthen:ファイルの追加のAPIルートを定義することです。 Closure

追加のルートファイルを直接
<!-- Syntax highlighted by torchlight.dev -->php artisan install:api
ログイン後にコピー
ログイン後にコピー
に追加することを好みますが、これは機能する別のアプローチです。ブートストラップファイルでルートを定義する場合、これらのグループは

ミドルウェアグループを使用するように構成されていません。これらのルートにroutes/api.phpミドルウェアグループを含めてください!api

以上がLaravel 11のAPIバージョン化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート