Cómo usar las Rutas API en Laravel 5.3
laravel-5.3 (3)
En Laravel 5.3, las rutas API se movieron al archivo api.php. Pero, ¿cómo puedo llamar a una ruta en el archivo api.php? Intenté crear una ruta como esta:
Route::get(''/test'',function(){
return "ok";
});
Intenté las siguientes URL pero ambas devolvieron la excepción NotFoundHttpException:
-
http://localhost:8080/test/public/test
-
http://localhost:8080/test/public/api/test
¿Cómo puedo llamar a esta ruta API?
Lo llamas por
http://localhost:8080/api/test
^^^
Si busca en la
app/Providers/RouteServiceProvider.php
, verá que, de forma predeterminada, establece el prefijo
api
para las rutas API, que puede cambiar, por supuesto, si lo desea.
protected function mapApiRoutes()
{
Route::group([
''middleware'' => ''api'',
''namespace'' => $this->namespace,
''prefix'' => ''api'',
], function ($router) {
require base_path(''routes/api.php'');
});
}
Si desea personalizar esto o agregar sus propios archivos de rutas separadas, consulte App / Providers / RouteServiceProvider para obtener inspiración
rutas / api.php
Route::get(''/test'', function () {
return response(''Test API'', 200)
->header(''Content-Type'', ''application/json'');
});
La asignación se define en la aplicación del proveedor de servicios / Proveedores / RouteServiceProvider
protected function mapApiRoutes(){
Route::group([
''middleware'' => [''api'', ''auth:api''],
''namespace'' => $this->namespace,
''prefix'' => ''api'',
], function ($router) {
require base_path(''routes/api.php'');
});
}