get('/user', function (Request $request) { return $request->user(); }); // 公开路由 Route::post('/auth/login', [AuthController::class, 'login']); // 需要认证的路由 Route::middleware('auth:sanctum')->group(function () { // 认证相关 Route::post('/auth/logout', [AuthController::class, 'logout']); // 仅管理员可访问的路由 Route::middleware('admin')->group(function () { Route::post('/auth/register', [AuthController::class, 'register']); Route::apiResource('users', UserController::class); }); // 文章相关 Route::apiResource('posts', PostController::class); // 评论相关 Route::apiResource('posts.comments', CommentController::class) ->shallow(); // 分类相关 Route::apiResource('categories', CategoryController::class); // 搜索相关路由 Route::prefix('search')->group(function () { Route::get('posts', [SearchController::class, 'posts']); Route::get('posts/{post}/related', [SearchController::class, 'relatedPosts']); }); // 统计相关路由 Route::middleware('auth:sanctum')->prefix('statistics')->group(function () { Route::get('posts', [StatisticsController::class, 'posts']); Route::get('user-activities', [StatisticsController::class, 'userActivities']); }); // 文章阅读量统计 Route::get('posts/popular', [PostController::class, 'popular']); // 分类相关路由 Route::get('categories/{category}/posts', [CategoryController::class, 'posts']); }); // 添加 API 版本信息路由 Route::get('/', function () { return response()->json([ 'name' => 'Blog API', 'version' => '1.0', 'documentation' => url('/api/documentation'), ]); });