【发布时间】:2016-09-17 13:34:32
【问题描述】:
我知道以前有人问过这个问题,但我正在寻找针对我的具体情况的答复。本质上,我已经构建了一个 API。此 API 有一个不受保护的登录路径
Route::post('login', 'Auth\AuthController@login');
我正在使用 JWT 进行身份验证,并且此登录路径需要电子邮件和密码。该函数如下所示
public function login(Request $request) {
$credentials = $request->only('email', 'password');
try {
if (! $token = JWTAuth::attempt($credentials)) {
return response()->json(['error' => 'invalid_credentials'], 401);
}
} catch (JWTException $e) {
return response()->json(['error' => 'could_not_create_token'], 500);
}
return response()->json(compact('token'), 200);
}
因此,如果凭据错误,则返回 401。如果应用程序无法创建令牌,则返回 500 响应。如果令牌创建成功,则返回 200。
从一开始这看起来还不错。我的问题是是否有必要采取进一步措施?例如,如果我注释掉路由,使其理论上不再存在,Postman 会返回 Laravel 错误
NotFoundHttpException in RouteCollection.php line 161:
现在我的路由消失的可能性很小,但是如果服务器出现故障或其他情况会发生什么?我是否希望向 API 用户显示 Laravel 错误,或者有什么方法可以处理这个问题?
真的,我正在寻找有关在我的 API 中处理错误的最佳方法的建议。
谢谢
【问题讨论】:
-
我听不懂你的问题?这里有什么问题?此外,如果服务器宕机,Laravel 宕机,你需要一些低级别的错误处理。
-
我真的很想处理所有不同类型的错误。例如,我给出了错误的路由,它在 postman 中显示 Laravel 错误。
-
Laravel 默认有一个非常好的错误处理程序,可以处理几乎所有的错误。这是一个非常广泛和自以为是的问题。请阅读有关如何提问的指南。
标签: laravel laravel-5.2