>在Laravel 11的發布後,將應用程序骨架減小,以刪除每個項目不需要的額外文件。該更改的一部分從應用程序源代碼中刪除了所有服務提供商,除AppServiceProvider
>更新的應用程序骨架的另一部分是刪除默認安裝中的API路由。假設您計劃在應用程序中添加API或專門用Laravel編寫API。在這種情況下,您可以通過工匠命令來設置
api
<!-- Syntax highlighted by torchlight.dev -->php artisan install:api
路由文件(並配置它),一個用於個人訪問令牌的數據庫遷移以及一個Sanctum配置文件。如果您不需要版本的API,那就是您需要做的所有事情。 install:api
>
api.php
在單獨的文件中對您的API進行version
RouteServiceProvider
在上面的示例中,通常為Laravel Sanctum提供A
<!-- 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
上面的代碼在中表示我們已經在
路由前綴中工作並使用>中間件組。 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
,我們可以看到版本的路由!
<!-- 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
查看如果您只輸出
>
我看到的另一種方法是使用接受abootstrap/app.php
>的參數定義then:
> grient的其他API路由
Closure
<!-- Syntax highlighted by torchlight.dev -->php artisan install:api
中間軟件組。確保將這些路線包括在內的中間件組! routes/api.php
>
以上是Laravel 11中的API版本控制的詳細內容。更多資訊請關注PHP中文網其他相關文章!