RESTful 应用程序中的 MyController 缺少参数 1

Missing argument 1 for MyController in RESTful application

我正在 laravel(REST 服务器)中使用 Basic Auth 开发应用程序。使用 Postman,我实现的所有 GET 请求似乎都有效,但不幸的是 POST 请求无效。

routes.php:

Route::post('my/action', 'MyController@postMyAction');

我的控制器:

public function __construct()
{
    $this->middleware('auth.basic.once');
}

public function postMyAction($request)
{
    // some logic here
}

问题是,这样,在 Postman 中设置凭据和一些参数后,出现以下异常:

Missing argument 1 for App\Http\Controllers\MyController::postMyAction()

有人知道如何将请求放入路由中定义的 post 处理函数吗?

提前致谢。

Laravel 为控制器方法提供依赖注入,但是您需要准确输入您想要的内容,以便 Laravel 知道要注入什么:

public function postMyAction(\Illuminate\Http\Request $request) 
{
    // Now $request is available

现在 Laravel 知道你想要一个 Illuminate\Http\Request 的实例,它会给你。

当然你也可以把 use Illuminate\Http\Request; 放在你的控制器的顶部,然后输入提示 Request $request 作为参数。