Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

J'essaye de faire un api avec la methode post , pour commencer j'essaye de tester ce code pour savoir quelle est la methode est appelé

Route::match(['get', 'POST'], 'post', function () {

    if(Request::isMethod('get'))
    {
        return " get method " ;
    }
    if(Request::isMethod('post'))
    {
        return " post method" ;
    }
});

Ce que je veux

je savoir quelle est la methode appelé

Ce que j'obtiens

pour la methode get ça a bien marché mais la methode post ne fonctionne pas !!!

5 réponses


Salut !
il faut mettre POST en minuscule (post)

Route::match(['get', 'post']);
midou717
Auteur

Bonjour Nicolas , je vous remercie , j'ai changé post en minuscule mais quand je la teste avec DHC ( outil de test api ) , pour la methode get c'est bon mais pour la methode post ça ne fonctionne pas !!! j'ai obtenu l'erreur internal server error

As tu passer le token CSRF ?

midou717
Auteur

Non , je veux juste tester cette methode , si vous pouvez me dire comment je peux le passer ? j'ai pas un formulaire , j'ai juste la route que j'ai montré

Hello,

Un peu de recherche ne ferait pas de mal.
Nicolas3891 a, à mon avis, la résolution du problème.

Cependant, je met ma main à couper que tu n'as pas regardé dans les fichiers de Logs laravel.
Si c'est une "Internal server error" fournit par Laravel, tu as forcément une trace (dans 99% des cas) dans les fichiers de Logs qui se trouve dans storage/logs/laravel.log.

Ensuite, si tu es en phase de développement, je te conseil d'activer le débug. Ca te permettra d'avoir les "vrais" erreurs au lieux de simples "Internal server error".

Edit : Suite à ton message, le token crsf est obligatoire lors d'un appel en POST.
Fait appel à la méthode csrf_token() pour l'avoir, et passe le en paramètre nommé _token via ton outil de test d'api.