在使用dingo api路由中使用middleware api.throttle 节流中间件遇到的问题
$api->group(['middleware' => ['auth:api']],function ($api) {$api->get('getUserInfo', ['middleware' => ['api.throttle'],'limit' => 1,'expires' => 1], 'App\Http\Controllers\Users\UserController@getUserInfo')->name('getUserInfo');
});
上面会遇到提示Value of type null is not callable
需要改成这样:
$api->group(['middleware' => ['auth:api']],function ($api) {$api->get('getUserInfo', ['middleware' => ['api.throttle'],'limit' => 1,'expires' => 1,'as' => 'getUserInfo','uses' => 'App\Http\Controllers\Users\UserController@getUserInfo',])->name('getUserInfo');
});
-
'as' => 'getUserInfo',
:这行代码为该路由设置了一个别名,以便在其他地方引用。 -
'uses'=>'控制器@方法名']);
:这行代码指定了处理该请求的方法位于 'UserInfo' 控制器的 'getUserInfo' 方法。 -
其中
uses 是固定写法,
uses'键是固定的,用于指定路由对应的控制器和方法 - 'uses'键的定义: 'uses'键在Laravel框架的路由配置中被用来指定当路由被访问时,应该调用哪个控制器的哪个方法来处理请求。这是一个标准化的键名,用于保持代码的一致性和可读性。
- 'uses'键的作用范围: 'uses'键主要用在路由定义中,特别是在快速路由定义方法中直接调用控制器方法的场景。它是路由定义数组中的一个元素,与其它如'middleware'、'as'等键配合使用,共同描述路由的行为。