Laravel 路由分层怎么做

laravel路由访问中 api前缀会自动走api路由文件,那么我现在有一个 user前缀或者一个menu前缀的 如何让他走 user文件或menu路由文件

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
shubiao-yao
最佳答案

Laravel5.3之后web和api的路由是通过文件去区分,分别是routes下的api.php和web.php

如果把路由加到api.php中,在访问的时候需要加上实际的路由前加上/api/的前缀,例如:xx.com/api/user/save

根据问题,你可以看下app/Providers/RouteServiceProvider.php这个文件中的mapApiRoutes( )方法。

建议将xx.com/api/ 作为base URI,如果再次分路由模块可以使用路由中的group,不同的功能模块建立不同的group。
例如:
用户模块:
Route::prefix('user')->namespace('Api')->group(function () {
Route::any('index', 'UserController@index');
Route::any('login', 'UserController@login');
});
对应的访问方式就是:
xx.com/api/user/index
xx.com/api/user/login
文章模块:
Route::prefix('article')->namespace('Api')->group(function () {
Route::any('index', 'ArticleController@index');
Route::any('save', 'ArticleController@save');
});
对应的访问方式就是:
xx.com/api/article/index
xx.com/api/article/save

5年前 评论
讨论数量: 2

你可以看一下路由Route::group方法

5年前 评论
shubiao-yao

Laravel5.3之后web和api的路由是通过文件去区分,分别是routes下的api.php和web.php

如果把路由加到api.php中,在访问的时候需要加上实际的路由前加上/api/的前缀,例如:xx.com/api/user/save

根据问题,你可以看下app/Providers/RouteServiceProvider.php这个文件中的mapApiRoutes( )方法。

建议将xx.com/api/ 作为base URI,如果再次分路由模块可以使用路由中的group,不同的功能模块建立不同的group。
例如:
用户模块:
Route::prefix('user')->namespace('Api')->group(function () {
Route::any('index', 'UserController@index');
Route::any('login', 'UserController@login');
});
对应的访问方式就是:
xx.com/api/user/index
xx.com/api/user/login
文章模块:
Route::prefix('article')->namespace('Api')->group(function () {
Route::any('index', 'ArticleController@index');
Route::any('save', 'ArticleController@save');
});
对应的访问方式就是:
xx.com/api/article/index
xx.com/api/article/save

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!