LogicException无法准备路由[api / user]进行序列化使用闭包

问题描述

我在做PHP artisan优化时遇到了这个错误

错误 [在此处输入图片描述] [1]

api.route

    Route::middleware('auth:api')->get('/user',function (Request $request) {
       return $request->user();
 });

这是我在homeController中删除以下内容后的开始:

 public function __construct()
{
    $this->middleware('auth');
}

我不希望家庭控制者能够登录我希望每个人都能看到的用户

感谢您的帮助! [1]:https://i.stack.imgur.com/OVywr.png

解决方法

php artisan optimize也执行php artisan route:cache。而且,如果路由使用的是Closure,则无法对其进行缓存。

这是其中之一。

Route::middleware('auth:api')->get('/user',function (Request $request) {
       return $request->user();
});

您可以做的是。将其更改为指向controller类。

Route::middleware('auth:api')->get('/user','UserController@show');

并创建另一个控制器UserController。您可以使用类似的方法。

public function show(Request $request)
{
    return $request->user();
}

这应该对您有用。