【发布时间】:2016-08-26 05:37:25
【问题描述】:
我有 Dingo API。
这是我的 routes.php 文件:
Route::resource('test','TestController');
$api = app('api.router');
$api->version('v1',['prefix' => 'api'], function ($api) {
$api->resource('user', 'App\Http\Controllers\API\v1\UserController');
});
在 UserController 中我只能使用 API 路由??
所以我不能做 route('test.index') 因为它给了我这个错误: 路线 [test.index] 未定义
但是 route('api.user.index') 工作正常吗?
如何使用原生 Laravel 路由,如 test.index、test.edit 等?
我看到 route() 调用 app() 函数,但我不明白它是如何工作的。这在任何地方都有记录吗?
【问题讨论】:
-
运行这个命令
php artisan route:clear然后运行php artisan route:list并在结果中寻找test.index, -
是的,我在那里找到了 test.index。如果我运行 php artisan api:routes 我会得到一个 api 路由列表。似乎 routes() 只是调用 API 路由而不是 laravel 路由。我猜想 Dingo 以某种方式重写了 routes() 函数以仅引用 api 路由。那么我如何访问在 route:list 中找到的本地 Laravel 路由呢?
标签: php laravel laravel-5.2 laravel-routing dingo-api