Sto lavorando su un'applicazione RESTful che utilizza Laravel 5 e sto cercando di rilevare le eccezioni e generare una risposta appropriata. Sto anche utilizzando il pacchetto tymondesigns/jwt-auth in modo che tutte le risposte API siano in formato JSON JSend.Come catturare le eccezioni globali in laravel 5 generate dal pacchetto tymondesigns/jwt-auth?
In questo momento sto cercando di catturare lo TokenExpiredException
che si verifica quando il token specificato è scaduto, naturalmente. Così ho provato questo nel Handler.php
:
if($e instanceof TokenExpiredException)
{
return jsend()->error()
->message("Token Expired")
->code(403)
->data([null])
->get();
}
Ma io non sono ancora in grado di intercettare questa eccezione e restituire una risposta JSON. Anche se sono in grado di fare questo per le altre eccezioni come:
if ($e instanceof ModelNotFoundException) {
$e = new NotFoundHttpException($e->getMessage(), $e);
return jsend()->error()
->message("404 Model Not Found")
->data([null])
->get();
}
E:
if ($this->isHttpException($e))
{
if($e instanceof NotFoundHttpException)
{
return jsend()->error()
->message("404 Route Not Found")
->data([null])
->get();
}
return $this->renderHttpException($e);
}
Come gestire altre eccezioni in laravel?
Questo ancora lavorare con laravel 5.4? Perché l'ho impostato come sopra, ma non ha ancora catturato l'eccezione – gthuo