我正在使用Laravel为我的项目开发REST API。对于每个请求,我都会触发数据库请求以查看所请求的api_token是否存在。如果不是,我发出一个json回复说“未经授权的访问”。
if( count($user) == 0 ) {
$toSend['success'] = 0;
$toSend['response'] = 'Unauthorized access';
}
然而,有另一种方法可以做到这一点。如果我只用auth:api中间件包装路由,
Route::post('/address', 'SomeController@someMethod')->middleware('auth:api');
它不需要发出数据库请求就可以做同样的事情。我应该只使用中间件进程还是两者兼而有之?哪一个是好习惯?
答案 0 :(得分:1)
始终使用中间件并在API组列表中提及api列表,如下所示
Route::group(['middleware' => 'auth:api'], function () {
Route::get('getUser','Testcontroller@getData');
});