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
Unable to prepare route [api/user] for serialization. Uses Closure
提问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.php
file 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.php
file route::group
is 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.
如果您的应用程序使用基于控制器的路由。它有助于快速执行。但是请记住“无法缓存基于闭包的路由”所以请将您的闭包路由转换为控制器类。
回答by Eben
Make sure to Check "routes/api.php"
确保检查“routes/api.php”