我在网上搜索过,但似乎没有匹配的问题。我也不知道可能有什么关系,但不确定。我有一个基本的用户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起作用。
有人对发生的事情有任何了解吗?
谢谢