wdjopa
wdjopa 80 XP
a posé

Comment changer le message d'erreur "Session store not set on request." ?

Hello,

Je suis entrain de développer une API avec Passport sur Laravel 7.0, et j'ai une erreur 500 lorsque je fais une requete sur une route où l'authentification est exigée sans donner le Token de connexion.

L'erreur est normale (je pense, puisque je n'ai pas renseigné le Token requis), néanmoins, je souhaite changer ce message et donner un message plus propre

mckenziearts
a répondu

C’est le message d’erreur que Passport renvoie via l’API?

wdjopa
wdjopa 80 XP
a répondu

En effet, Quelque chose comme ca ..

{
"message": "Session store not set on request.",
"exception": "RuntimeException",
"file": "E:\\PROJETS\\WEB\\backendlamater\\vendor\\...\\Request.php",
"line": 483,
"trace": [
{
...
}
mckenziearts
a répondu
Meilleure réponse

D’accord je vois. Il faut modifier la classe Handler qui se trouve dans le dossier app\Exceptions pour ajouter un custom retour quand la request est en json

stevymarlino
a répondu

Salut tu pourrais essayé un try and catch

try {
// Good code here
return return response()->json([
'status' => true,
'data' => $data,
'message' => 'your message'
],200);
} catch (Exception $e) {
// if you have any error
return return response()->json([
'status' => false,
'data' => $e->getMessage(),
'message' => $message
],400);
}
wdjopa
wdjopa 80 XP
a répondu

J'ai essayé le try catch sans succès.

Pour l'instant j'arrive bien à modifier le message d'erreur avec la réponse de @mckenziearts ... Seulement, je me rends compte que je suis quand meme entrain de modifier un comportement par défaut de Laravel et je me demande s'il faut vraiment en arriver là. Je veux dire c'est quelque chose qui est déjà arrivé à d'autres personnes ? Sinon, ca veut dire que j'ai mal fait un truc quelque part.

En tout cas, merci les gars

Il faut Se connecter ou Créer un compte pour participer à cette conversation.