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