首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Laravel 5.5中通过路由名称获取API URL

问在Laravel 5.5中通过路由名称获取API URL
EN

Stack Overflow用户
提问于 2017-11-16 22:07:57
回答 2查看 6K关注 0票数 4

在Laravel 5.5中通过名称获取路由URL时,有没有一种方法可以指定前缀?例如,

在routes/web.php中

代码语言:javascript
复制
Route::resource('users', 'UserController', ['only' => 'index', 'create', 'edit']);

在routes/api.php中

代码语言:javascript
复制
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?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-01 02:17:07

在routes/api.php中,使用前缀api包装所有路由

代码语言:javascript
复制
Route::name('api.')->group(function () {
  ...
});

然后在RouteServiceProvider中,

代码语言:javascript
复制
Route::prefix('api')
         ->middleware('api')
         ->namespace($this->namespace.'\Api')
         ->group(base_path('routes/api.php'));
票数 2
EN

Stack Overflow用户

发布于 2017-11-16 22:10:03

您可以通过as选项为资源控制器的路由添加前缀:

代码语言:javascript
复制
Route::resource('users', 'UserController', [
    'as' => 'your.prefix',
    'only' => ['index', 'store', 'update', 'destroy'],
]);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47331778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档