ホームページ >バックエンド開発 >PHPチュートリアル >Laravel 11のAPIバージョン化
Laravel 11のリリースにより、アプリケーションスケルトンはスリムにされ、すべてのプロジェクトで不要な追加ファイルを削除しました。その変更の一部は、
。
AppServiceProvider
更新されたアプリケーションの別の部分が、デフォルトのインストールでAPIルートを削除しています。アプリケーションにAPIを追加するか、LaravelでAPIのみを作成することを計画しているとします。その場合、職人のコマンドで
#個別のファイルでAPIをバージョンします #laravel 11 にAPIのバージョンをバージョンできるいくつかの方法があります。
ファイルを開き、ファイルの下部に次の行を追加します。
ルートプレフィックス内で既に作業しており、 ここにファイルがあります:
および を使用して、 Proのヒント: : 私が見たもう1つのアプローチは、 ミドルウェアグループを使用するように構成されていません。これらのルートにapi
<!-- Syntax highlighted by torchlight.dev -->php artisan install:api
install:api
LaravelでバージョンされたAPIを作成するための一般的なアプローチは、ルートを異なるファイルに分離することです。そうすることで、特定のAPIバージョンに関する推論のオーバーヘッドが簡素化され、物事を整頓します。 Laravel 10以前では、一般的なアプローチでは、各APIバージョンの追加のルートファイルをapi.php
に追加することです。
はlaravel Sanctumの
エンドポイントを提供し、APIルートの残りは適切なバージョンに隠れています。
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'));
});
に移動し、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
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ファイルのバージョンされたルート
bootstrap/app.php
引数を使用してthen:
ファイルの追加のAPIルートを定義することです。
Closure
<!-- Syntax highlighted by torchlight.dev -->php artisan install:api
に追加することを好みますが、これは機能する別のアプローチです。ブートストラップファイルでルートを定義する場合、これらのグループはroutes/api.php
ミドルウェアグループを含めてください!api
以上がLaravel 11のAPIバージョン化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。