我正在 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/