流明与 GET 请求不一致的行为

Lumen inconsistent behaviour with GET request

对于我正在写的API,在我的路由文件中我有:

$app->get('item/{id}', 'ApiController@item');
$app->get('groupitems/{group}', 'ApiController@groupItems');

在我的控制器中,我有两个相关的功能:

public function item($id, Request $request)
{
    if ($this->isAuthorised($request->input('tenant_id'), $request->input('api_code'))) {
        $item = Line::find($id);
        if ($item) { ...

public function groupItems($id, Request $request)
{
    if ($this->isAuthorised($request->input('tenant_id'), $request->input('api_code'))) {
        $items = Line::where('tenant_id', $request->input('tenant_id'))->where('publish', true) ...

调用的方式完全相同,例如:

http://api.artlook.com/groupitems/29?tenant_id=2&api_code=o9rty43

请不要尝试,因为 URL 目前仅在本地服务器上。

我的第一个函数运行完美。第二个returns一个错误异常

Argument 2 passed to groupItems() must be an instance of Illuminate\Http\Request, string given

但它们是相同的并且在同一个控制器中。帮忙?

这里的问题是,您已将参数名称声明为 {group}。因此,您需要将参数变量设置为该名称:

public function groupItems($group, Request $request)
...