我是 Laravel 的新手,现在我管理某人留下的项目。我尝试向API添加一个函数,我编辑的内容:1)添加方法:myproject/app/Http/Controllers/Api/ArticleController.php2)添加路由到控制器:myprojectmyproject/routes/api.php但是,当我尝试运行时,php artisan route:cache出现以下错误:路由缓存已清除!\n LogicException : 无法为序列化准备路由 [/]。使用闭包。如果我因为使用闭包而出错,为什么以前的开发人员可以填充路由?通过运行,php artisan route:list我可以看到以前做过的路线列表。任何的想法 ?
2 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
当你想使用路由缓存时,你不能使用闭包在任何文件中注册路由。
由于您的文件中仍然有来自全新 Laravel 安装的默认路由routes/web.php
,因此您会收到此错误,因为当您do php artisan route:cache
在引擎盖下的 Laravel 将路由文件序列化并将它们合并为一个时,他的查找速度会更快。
要解决此问题,您可以简单地删除不需要的路由,或者像处理所有其他路由一样将其移动到控制器。然后错误应该消失了。
慕娘9325324
TA贡献1783条经验 获得超4个赞
只需删除任何带有回调函数的路由,如默认路由。
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
编辑
Route::middleware('auth:api')->get('/user', 'SomeController@someMethod');
- 2 回答
- 0 关注
- 219 浏览
添加回答
举报
0/150
提交
取消