laravel 无法为序列化准备路由 [api/user]。使用闭包

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/53880071/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 18:13:13  来源:igfitidea点击:

Unable to prepare route [api/user] for serialization. Uses Closure

phplaravellaravel-5

提问by Даниил Кикимов

I'm writing my project on Laravel. When I optimize the project, I have a problem :

我正在 Laravel 上编写我的项目。当我优化项目时,我遇到了一个问题:

Unable to prepare route [api/user] for serialization. Uses Closure.

无法为序列化准备路由 [api/user]。使用闭包。

I looked for any closures in web.php, but I didn't find anything

我在 web.php 中寻找任何闭包,但我没有找到任何东西

    <?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/','ReviewsController@main')->name('main');
Route::post('/','MailController@verify')->name('verifyPost');

Route::get('/reviews', 'ReviewsController@index')->name('reviews');
Route::post('/reviews','ReviewsController@add')->name('addReview');

Auth::routes();
Route::group(['middleware' => 'admin','prefix' => 'admin'],function () {
    Route::get('/', 'HomeController@index')->name('admin');
    Route::get('/reviews', 'Admin\ReviewsController@get')->name('admin.reviews');
    Route::get('/reviews/accepted/{id}','Admin\ReviewsController@accept')->where('id','\d+')->name('admin.accepted');
    Route::delete('/reviews/delete','Admin\ReviewsController@delete')->name('reviews.delete');
});

回答by Jignesh Joisar

in api.phpfile search and comment this routeyou will not get error..

api.php文件搜索和评论这条路线你不会得到错误..

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

and also in web.phpfile route::groupis also closureand also comment them for test

并且在web.php文件route::group中也是关闭并评论它们以进行测试

Route::group(['middleware' => 'admin','prefix' => 'admin'],function () {
    Route::get('/', 'HomeController@index')->name('admin');
    Route::get('/reviews', 'Admin\ReviewsController@get')->name('admin.reviews');
    Route::get('/reviews/accepted/{id}','Admin\ReviewsController@accept')->where('id','\d+')->name('admin.accepted');
    Route::delete('/reviews/delete','Admin\ReviewsController@delete')->name('reviews.delete');
});

see what is closure

看看什么是闭包

回答by M Abdullah

Php routing cache command :

PHP路由缓存命令:

php artisan route:cache

if your application using controller based routes. It help for fast execution. But remember "Closure based routes cannot be cached" So kindly convert your Closure routes to controller classes.

如果您的应用程序使用基于控制器的路由。它有助于快速执行。但是请记住“无法缓存基于闭包的路由”所以请将您的闭包路由转换为控制器类。

For more information

想要查询更多的信息

回答by Eben

Make sure to Check "routes/api.php"

确保检查“routes/api.php”