Laravel-路线上发生的奇怪事件

时间:2019-01-22 20:33:25

标签: laravel-5 laravel-routing

我在网上搜索过,但似乎没有匹配的问题。我也不知道可能有什么关系,但不确定。我有一个基本的用户CRUD。对于我的路线,我将它们添加到web.app中,但尝试为它们添加api /

前缀

列出路线时,我可以看到正确的路线,这是索引的示例

| GET|HEAD  | api/user | user.index | App\Http\Controllers\UserController@index | web,auth

所以在web.php中,我有一个基本资源

Route::resource('api/user', 'UserController');

现在,当我按此路线行驶时,它似乎不起作用。因此,我认为这可能与api.php文件具有api前缀这一事实有关。因此,在此文件中,我添加了

Route::get('/user', 'UserController@index');

现在它可以工作了。这是奇怪的地方。如果我从web.php中删除了初始资源,则会收到身份验证错误。要使其工作,我需要web.php中的资源以及api.php中的get。

但是,我可以直接在web.php中直接向用户控制器进行POST调用

Route::post('api/user', 'UserController@store');

此方法无需在api.php中添加任何内容。这是奇怪的地方。我以为它必须是api前缀,尽管这并不能真正解释为什么我在两个路由文件中都需要它。因此,在web.php中,我将其更改为

Route::resource('test/user', 'UserController');

但是再一次,api.php中没有任何内容,GET不起作用,而POST起作用。

有人对发生的事情有任何了解吗?

谢谢

0 个答案:

没有答案