Php 使用Laravel的RESTful API

Php 使用Laravel的RESTful API,php,laravel,api,Php,Laravel,Api,我正在使用Laravel为我的项目开发RESTAPI。对于每个请求,我都会触发一个数据库请求,以查看请求的api_令牌是否存在。如果不是,我将给出一个json响应,表示未经授权的访问 if( count($user) == 0 ) { $toSend['success'] = 0; $toSend['response'] = 'Unauthorized access'; } 然而,还有另一种方法可以做到这一点。如果我只是用auth:api中间件包装路由 Route::post

我正在使用Laravel为我的项目开发RESTAPI。对于每个请求,我都会触发一个数据库请求,以查看请求的api_令牌是否存在。如果不是,我将给出一个json响应,表示未经授权的访问

if( count($user) == 0 ) {

    $toSend['success'] = 0;
    $toSend['response'] = 'Unauthorized access';
}
然而,还有另一种方法可以做到这一点。如果我只是用auth:api中间件包装路由

Route::post('/address', 'SomeController@someMethod')->middleware('auth:api');

它做同样的事情,而不必发出数据库请求。我应该只使用中间件流程还是两者都使用??哪一个是好的实践?

始终使用中间件,并在API组列表中提及API列表,如下所示

Route::group(['middleware' => 'auth:api'], function () {
   Route::get('getUser','Testcontroller@getData');
});

使用中间件processok..那么我应该在getData方法中定义逻辑吗?还有一个问题。如果逻辑以某种方式失败,那么我如何处理任何类型的异常??getUser=>API只是一个示例API,我编写它是为了了解组中间件的工作原理auth:api'应该包含逻辑。尝试{$user=JWTAuth::toUserJWTAuth::getToken;}捕获异常$e{if$e instanceof\Tymon\JWTAuth\Exceptions\TokenExpiredException{return response->error'Session is Expired',401;}否则{return response->error$e->getMessage 200;}我知道这只是一个示例,但我的问题是在构建RESTAPI时如何处理异常。如果发现异常,我希望我的android应用程序弹出一个警报框。有什么建议吗?使用其他响应代码以及消息进行响应,并显示在android应用程序中。e、 g$msg='找不到服务器';返回响应->错误$msg;好啊任何你推荐用来处理异常的laravel插件??