En Laravel 11, es común encontrar el error "API Routes Not Found" al intentar acceder a rutas API. Este problema suele deberse a cambios en la estructura del framework y a la necesidad de configurar adecuadamente las rutas API.
A diferencia de versiones anteriores, Laravel 11 no incluye el archivo api.php
por defecto. Para definir rutas API, es necesario publicarlo utilizando el siguiente comando:
php artisan install:api
Este comando instala Laravel Sanctum y crea el archivo routes/api.php
, donde se pueden definir las rutas API.
Las rutas definidas en routes/api.php
se asignan al grupo de middleware api
y, por defecto, se les aplica el prefijo /api
. Si se requiere cambiar este prefijo, se debe modificar el archivo bootstrap/app.php
de la siguiente manera:
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
api: __DIR__.'/../routes/api.php',
apiPrefix: 'api/v1', // Cambiar 'api/v1' por el prefijo deseado
// ...
)
->create();
Esta configuración permite personalizar el prefijo de las rutas API según las necesidades del proyecto.
Es fundamental asegurarse de que las rutas estén correctamente definidas en el archivo routes/api.php
. Por ejemplo:
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::get('/user', function (Request $request) {
return $request->user();
});
Para listar todas las rutas definidas y verificar su correcta configuración, se puede utilizar el siguiente comando:
php artisan route:list
Este comando muestra una lista de todas las rutas registradas en la aplicación, facilitando la identificación de posibles errores.
php artisan route:clear
para evitar conflictos.
mod_rewrite
en Apache.
Siguiendo estos pasos, se debería resolver el error "API Routes Not Found" en Laravel 11, permitiendo el correcto funcionamiento de las rutas API en la aplicación.
Jorge García
Fullstack developer