Laravel 无法为序列化准备路由 [api/user]。使用闭包
Posted
技术标签:
【中文标题】Laravel 无法为序列化准备路由 [api/user]。使用闭包【英文标题】:Laravel Unable to prepare route [api/user] for serialization. Uses Closure 【发布时间】:2020-08-27 14:58:10 【问题描述】:当我评论所有路线时,我收到此错误。 请告诉我,关闭路线是什么?以及为什么显示这个错误
【问题讨论】:
你在执行命令routes:cache
吗?
是的。之后我收到错误
它的预期行为。如果路由中有闭包,则无法缓存它们。
我不明白
【参考方案1】:
闭包是一个anonymous function,用于define routes without an action:
Route::get('/test', function ()
return 'hello world';
);
当您在浏览器中调用路由/test
时,上面的示例返回hello world
。
您不能缓存引用闭包的路由。
在默认的 Laravel 应用程序中有两种使用闭包的路由:在文件 routes/api.php
和 routes/web.php
中。删除它们或将它们移动到控制器,您就可以缓存您的路线。
这是 Laravel 框架存储库中讨论此行为的 an issue。
【讨论】:
这是一个错误吗?我可以保持不变吗? 不,这是预期的行为。在生产应用程序中,您不希望有任何关闭路线。以上是关于Laravel 无法为序列化准备路由 [api/user]。使用闭包的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 7:无法为序列化准备路由 [api/user]。使用闭包。 (逻辑异常)[重复]