找不到控制器方法奇怪的行为

Controller Method Not Found Strange Behaviour

我的 laravel 应用程序中有一个 AuthController,在该控制器中我有几种方法:

public function postLogin(LoginRequest $request)
{
  ...
}

public function getRegister()
{
  ...
}

public function postRegister(RegisterRequest $request)
{
  ...
}

出于某种原因,现在我的 postRegister() 函数不起作用,当我 运行 它出于某种原因在邮递员中时它总是执行 getRegister() 相反,当我取出 getRegister() 它说找不到控制器方法。

这是我的路线:

Route::group(['prefix' => '/api/v1/', 'namespace' => 'App\Http\Auth\Controllers'], 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-custom-request-not-working

显然,在 laravel 中使用邮递员测试您的 API 时,您需要将 AcceptHeader 设置为 Application/json。我不知道这个。 :)