首页 > 解决方案 > Laravel 5.7 ApiResource GET 参数为空

问题描述

我将 Laravel 5.7 用于我的 JSON API Web 应用程序。

在我的 routes/api.php 文件中,我创建了以下路由:

Route::apiResource('my_resource', 'API\Resource')->except(['delete']);

我添加了相应的控制器和方法(索引,显示,...),everythink 完美地工作。我的问题如下:我想像这样添加可选的 GET 参数:

http://axyz/my_resource?param=hello¶m2= ...

例如,能够在我的 index() 方法中检索“你好”。但是,当我打印 $request->input('param') 的值时,它是空的。我只是什么都得不到。

但是,如果我使用可选参数创建这样的路线:

Route::get('/my_resource/{param?}', 'API\Resource');

我能够在我的控制器方法中获取参数值。

这是我的索引方法:

class Resource extends Controller {

public function index(Request $request)
    {
        print($request->input('param'));
        // ...
    }
// ...
}

我错过了什么吗?我还是 Laravel 的新手,也许我错过了文档中的一些内容。

提前谢谢你,

标签: laravel-5

解决方案


您可以使用:

$request->route("参数");


推荐阅读