在Laravel 5.5中通过名称获取路由URL时,有没有一种方法可以指定前缀?例如,
在routes/web.php中
Route::resource('users', 'UserController', ['only' => 'index', 'create', 'edit']);在routes/api.php中
Routes::resource('users', 'UserController', ['only' => 'index', 'store', 'update', 'destroy']);正如在调用php artisan route:list时确认的那样,到索引方法的两个路由都具有名称users.index。但是,web路由的URL是/users,api路由的URL是/api/users。
要获得web路由URL,我可以执行route('users.index')。有没有办法使用路由名称获取api路由的URL?
发布于 2019-04-01 02:17:07
在routes/api.php中,使用前缀api包装所有路由
Route::name('api.')->group(function () {
...
});然后在RouteServiceProvider中,
Route::prefix('api')
->middleware('api')
->namespace($this->namespace.'\Api')
->group(base_path('routes/api.php'));发布于 2017-11-16 22:10:03
您可以通过as选项为资源控制器的路由添加前缀:
Route::resource('users', 'UserController', [
'as' => 'your.prefix',
'only' => ['index', 'store', 'update', 'destroy'],
]);https://stackoverflow.com/questions/47331778
复制相似问题