3.2 KiB
3.2 KiB
3.7 路由注册
:::tip 概述
路由定义在 route/app.php 中,按模块分组注册。所有需认证的接口统一绑定四个中间件。
:::
路由文件位置
route/app.php
Example 模块路由(来自项目实际代码)
// route/app.php 第 370~383 行
// ----------------------------------------------------------
// 自动生成 - example
// ----------------------------------------------------------
Route::group('example', function () {
Route::get('page', 'ExampleController/page'); // 分页列表
Route::get('list', 'ExampleController/list'); // 全量列表
Route::get('detail/:id', 'ExampleController/detail'); // 详情(:id 为路径参数)
Route::post('add', 'ExampleController/add'); // 新增
Route::put('update', 'ExampleController/update'); // 修改
Route::delete('delete/:id', 'ExampleController/delete'); // 删除
Route::delete('batchDelete', 'ExampleController/batchDelete'); // 批量删除
Route::post('import', 'ExampleController/import'); // 导入
Route::get('export', 'ExampleController/export'); // 导出
});
路由格式说明
Route::HTTP方法('路径', '控制器/方法');
| HTTP 方法 | 用途 | 路径格式 | 示例 |
|---|---|---|---|
| GET | 查询 | /module/page、/module/detail/:id |
GET /api/example/page |
| POST | 新增/导入 | /module/add、/module/import |
POST /api/example/add |
| PUT | 修改 | /module/update |
PUT /api/example/update |
| DELETE | 删除 | /module/delete/:id、/module/batchDelete |
DELETE /api/example/delete/1 |
标准路由模板
每个业务模块通常包含以下路由:
Route::group('模块名', function () {
Route::get('page', 'XxxController/page'); // 分页列表
Route::get('list', 'XxxController/list'); // 全量列表(可选)
Route::get('detail/:id', 'XxxController/detail'); // 详情
Route::post('add', 'XxxController/add'); // 新增
Route::put('update', 'XxxController/update'); // 修改
Route::delete('delete/:id', 'XxxController/delete'); // 删除
Route::delete('batchDelete', 'XxxController/batchDelete'); // 批量删除
Route::post('import', 'XxxController/import'); // 导入(可选)
Route::get('export', 'XxxController/export'); // 导出(可选)
});
:::tip 路由命名规范
- 路径使用小写英文(如
example、user) - 详情/删除使用
:id参数(如detail/:id) - 批量删除使用
batchDelete路径 :::
中间件绑定
所有需认证的接口在 route/app.php 末尾统一绑定中间件:
})->middleware([
\app\middleware\AuthMiddleware::class, // JWT认证 + 权限校验
\app\middleware\TenantMiddleware::class, // 租户上下文注入
\app\middleware\DemoMiddleware::class, // 演示环境拦截
\app\middleware\LogMiddleware::class, // 操作日志记录
]);
验证路由注册
# 查看所有已注册路由
php think route:list
# 测试路由是否正确
curl http://localhost:8000/api/example/page -H "Authorization: Bearer <token>"