En Laravel 10 por defecto teníamos todo configurado para desarrollar una Api. Laravel preestablecía esencial instalar predeterminadamente soporte para APIs externas donde se daba por defecto la opción de que todas las plataformas externas al Laravel local necesitaban una API con todas sus configuraciones preinstaladas (Rutas, Controladores y su seguridad). También, en laravel 10 y versiones anteriores, el archivo de rutas Api que contiene una ruta que devuelve el usuario autenticado. También en esas versiones anteriores a la 10 teníamos el archivo de rutas Api que se cargaba desde el archivo app providers y Route service Provider. Ahora no tenemos estos archivos de rutas Api. Porque el Framework en su nueva lógica da por dado que no necesitamos una Api, pero a la vez hace que sea muy sencilla su instalación.
Para agregar el API a tu proyecto con Laravel 11 basta con ejecutar un Comando para que se configure todo el soporte para apis. Este comando existe desde versiones anteriores a Laravel 11; Sin embargo, no era muy conocido, ya que como comentamos anteriormente, por defecto, desde Laravel 10 para abajo, se consideraba que la opción de API debe estar preinstalada. Para lograr ejecutar esta serie de acciones que instalan la API tal cual como la teníamos en versiones anteriores de Laravel 10 y toda su configuración como venía preinstalada anteriormente, basta con ejecutar el comando:php artisan install:api
Una vez ejecutado este comando ya tenemos el archivo Api en proyect/routes de vuelta. Lo mismo que teníamos antes al crear un nuevo proyecto solo cambia el orden en que se registra el middleware, pero funcionalmente, es lo mismo. Ahora si revisamos el archivo composer.js veremos que también se ha instalado laravel Sanctum que ya no viene por defecto en laravel 11 el cual es necesario para el buen funcionamiento de la opción API en Laravel 11. También tenemos el archivo de configuración de sanctum y la migración para crear la estructura de base de datos y poder almacenar los tokens de acceso. Si te preguntas que es Sanctum, Sanctum es una librería que permite la autenticación ligera y simple para APIs basadas en token como API para apps de Play Store o consumir APIs con lenguajes Front-End.
Si revisamos la carpeta app/providers únicamente vemos el archivo app service Provider ya no tenemos el Route service Provider que teníamos antes en la laravel 11. También tenemos un archivo bootstrap en app completamente diseñado. Este archivo bootstrap se encarga de hacer el levantamiento y configuración de la aplicación , tambien el comando install Api agrega una nueva línea con el parámetro con nombre Api y la dirección del archivo de rutas Api y podemos cambiar el prefijo Api Si queremos por aquí mismo y Si volvemos a la terminal vemos que el comando en realidad no ha terminado. Aqui debes continuar con el siguiente paso.
2.luego de ejecutarse php artisan install:api nos pregunta si queremos ejecutar las migraciones pendientes, esto es por la nueva migración de sanctum que se agregó. Para ejecutar estas acciones de migracion de tablas e información, presionnamos «sí» y ahora nos indica que agreguemos el «Api tokens» al modelo user ese sería el paso final para configurar la Api se lo agregamos aquí.
Ahora estamos listos para desarrollar un Api en esta aplicación. Si ejecutamos php artisan route:list vemos la ruta para el token ccrf y para obtener el usuario actualmente autenticado. En resumen, la Laravel 11 ya no da por sentado predeterminadamente que queremos construir una Api, pero hace que configurarlo sea muy sencillo.