web-dev-qa-db-fra.com

Comment utiliser les routes API dans Laravel 5.3

Dans Laravel 5.3, les itinéraires d'API ont été déplacés dans le fichier api.php. Mais comment puis-je appeler une route dans un fichier api.php? J'ai essayé de créer un itinéraire comme celui-ci:

Route::get('/test',function(){
     return "ok"; 
});

J'ai essayé les URL suivantes, mais les deux ont renvoyé l'exception NotFoundHttpException:

  • http://localhost:8080/test/public/test
  • http://localhost:8080/test/public/api/test

Comment puis-je appeler cette route API?

87
gw0

Vous l'appelez par

_http://localhost:8080/api/test
                      ^^^
_

Si vous regardez dans app/Providers/RouteServiceProvider.php , vous constaterez que par défaut, il définit le préfixe api pour les itinéraires d'API, que vous pouvez modifier si vous le souhaitez.

_protected function mapApiRoutes()
{
    Route::group([
        'middleware' => 'api',
        'namespace' => $this->namespace,
        'prefix' => 'api',
    ], function ($router) {
        require base_path('routes/api.php');
    });
}
_
165
peterm

Si vous souhaitez personnaliser cela ou ajouter vos propres fichiers de routes distincts, consultez App\Providers\RouteServiceProvider pour trouver l'inspiration.

https://mattstauffer.co/blog/routing-changes-in-laravel-5-

5
macieks

routes/api.php

Route::get('/test', function () {
    return response('Test API', 200)
                  ->header('Content-Type', 'application/json');
});

Le mappage est défini dans le fournisseur de services App\Providers\RouteServiceProvider

protected function mapApiRoutes(){
    Route::group([
        'middleware' => ['api', 'auth:api'],
        'namespace' => $this->namespace,
        'prefix' => 'api',
    ], function ($router) {
        require base_path('routes/api.php');
    });
}
1
Chandrakant Ganji