Laravel 5 kullanarak RESTful bir uygulama üzerinde çalışıyorum ve istisnaları yakalamaya ve uygun bir yanıt oluşturmaya çalışıyorum. Ayrıca tüm API yanıtlarının JSend JSON biçiminde olmasını sağlamak için tymondesigns/jwt-auth paketini kullanıyorum.Tymondesigns/jwt-auth paketi tarafından oluşturulan laravel 5 global istisnalar nasıl yakalanır?
Şu anda, verilen belirtecin süresi dolduğunda ortaya çıkan TokenExpiredException
kodunu yakalamaya çalışıyorum. Bu yüzden Handler.php
bu çalıştı:
if($e instanceof TokenExpiredException)
{
return jsend()->error()
->message("Token Expired")
->code(403)
->data([null])
->get();
}
Ama yine de bu durum yakalamak ve JSON yanıtını geri vermek mümkün değilim.
if ($e instanceof ModelNotFoundException) {
$e = new NotFoundHttpException($e->getMessage(), $e);
return jsend()->error()
->message("404 Model Not Found")
->data([null])
->get();
}
Ve:
if ($this->isHttpException($e))
{
if($e instanceof NotFoundHttpException)
{
return jsend()->error()
->message("404 Route Not Found")
->data([null])
->get();
}
return $this->renderHttpException($e);
}
nasıl laravel diğer istisnalar işlemek için böyle diğer istisnalar için yapmak mümkün duyuyorum rağmen?
if($e instanceof \Tymon\JWTAuth\Exceptions\TokenExpiredException)
{
return jsend()->error()
->message("Token Expired")
->code(403)
->data([null])
->get();
}
Küçük hatalar:
bu hala laravel 5.4 ile çalışır mı: Orijinal istisna, bu nedenle hata işleme şimdi böyle bir şey olmazdı hala yöntemle
getPrevious()
kullanılabilir? Çünkü yukarıdaki gibi ayarlamıştım ama yine de istisnayı yakalamıyor. – gthuo