laravel Route RESTful 因路由先后顺序导致的解析错误
!!! show路由 要放到 create路由之后!!!
1.路由顺序
官方文档给出路由的标准顺序
我在添加中间件的时候,对路由进行了需求划分,导致 create 页面解析错乱,并且没有错误提示。
show 在 create 前导致解析错乱。
// 详情页面
Route::get('/{id}', 'BlogController@show')->name('blog.show');
// 新增页面
Route::get('/create', 'BlogController@create')->name('blog.create');
错误排序:
2.解决步骤
在项目的 /app/Exceptions/Handler.php 找到:
打印并查看异常的堆栈信息:
发现本来是要解析到 create 却被解析到 show 。
3.问题成功解决
对路由进行重新排序之后,create 正常解析:
正确排序:
!!! show路由 要放到 create路由之后!!!
本作品采用《CC 协议》,转载必须注明作者和本文链接
高认可度评论:
加正则约束即可
路由《Laravel 8 中文文档》
分享:路由冲突另一种解决方式(正则表达式约束)
之前遇到过,就懒得用restful了
加正则约束即可
路由《Laravel 8 中文文档》
分享:路由冲突另一种解决方式(正则表达式约束)