Files
lotteryLaravel/routes/api.php

40 lines
1.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
use App\Http\Controllers\Api\V1\Admin\PingController as AdminPingController;
use App\Http\Controllers\Api\V1\HealthController;
use App\Http\Controllers\Api\V1\Player\MeController;
use App\Http\Controllers\Api\V1\Player\PingController as PlayerPingController;
use Illuminate\Support\Facades\Route;
/*
| Laravel 默认在 bootstrap 中为 api 文件加前缀 `api`,故实际 URL
| /api/v1/health
| /api/v1/player/...
| /api/v1/admin/...
*/
Route::prefix('v1')->group(function (): void {
// 探活:无鉴权
Route::get('health', HealthController::class)->name('api.v1.health');
Route::prefix('player')
->name('api.v1.player.')
->group(function (): void {
// 不需 Bearer
Route::get('ping', PlayerPingController::class)->name('ping');
// 需 BearerPlayerTokenResolver + EnsurePlayerApi
Route::middleware('lottery.player')->group(function (): void {
Route::get('me', MeController::class)->name('me');
});
});
// 后台 API 前缀;中间件 lottery.admin 内预留 Sanctum / RBAC
Route::middleware('lottery.admin')
->prefix('admin')
->name('api.v1.admin.')
->group(function (): void {
Route::get('ping', AdminPingController::class)->name('ping');
});
});