我的laravel应用程序中有一个AuthController,在这个控制器中我有几个方法:
public function postLogin(LoginRequest $request)
{
...
}
public function getRegister()
{
...
}
public function postRegister(RegisterRequest $request)
{
...
}
出于某种原因,现在我的postRegister()
函数不起作用,当我在poster中运行它时,由于某种原因,它总是执行getRegister()
,当我取出getRegister()
时,它说找不到Controller方法。
这是我的路线:
Route::group(['prefix' => '/api/v1/', 'namespace' => 'AppHttpAuthControllers'], function() {
/**
* Authentication
*/
Route::controllers([
'auth' => 'AuthController',
'password' => 'PasswordController',
]);
});
编辑:我已经将问题缩小到我的请求文件,路径是正确的,但由于某种原因,当我尝试在postRegister(RegisterRequest$request)中使用它时,postRegister函数没有执行,没有抛出错误,它以前工作过,现在我不知道是什么导致了这个问题。
我想我还应该补充一点,我创建了在应用程序中使用的自定义名称空间。
请确保在Postman中将HTTP方法设置为"POST",您可能使用的是"GET",它击中的是"GET"路由,而不是"POST"路由。
您可以执行php artisan route:list
来查看您的实际路由和它们接受的HTTP方法。
经过数小时的搜索和更改代码,我在这里找到了一个解决方案:laracasts.com/discuss/channels/laravel/laravel-5-customizedrequest-not-working
显然,当使用poster在laravel中测试API时,您需要将AcceptHeader
设置为Application/json
。我不知道。:)