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

标签 php laravel post laravel-5 basic-authentication

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

routes.php:

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

我的 Controller :

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()

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

提前致谢。

最佳答案

Laravel 为 Controller 方法提供依赖注入(inject),但是您需要准确地输入您想要的内容,以便 Laravel 知道要注入(inject)什么:

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

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

当然,您也可以将 use Illuminate\Http\Request; 粘贴在 Controller 顶部,然后只需键入hint Request $request 作为参数。

关于php - RESTful 应用程序中 MyController 缺少参数 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37862427/

相关文章:

php - Ubuntu 运行多个 .service 文件

Java不发送HTTP POST请求

android - 在webview中获取支付网关的回调

php - php 中的 "\n"没有在我的文件中向下移动一行

php - 使用 PHP 的 Gmail IMAP?

php - mysqlnd_ms 替代 php7

php - 仅以所需格式打印 session 数组中所需的数据和

javascript - 从一对多关系获取和保存值,并在 Laravel 的 javascript 中使用

php - 根据一个外键验证重复数据

php - 更新期间验证用户电子邮件字段