Crear el controlador de la API¶
Una vez que hemos entendido lo que es una API REST, podemos pasar a la parte técnica. Cuando comenzamos este bloque, justificamos el uso de Laravel 11, y aquí es donde hay grandes cambios con versiones anteriores. Es por ello que si tienes experiencia con versiones anteriores vas a ver que hay cosas que cambian. Es por ello que gran parte de las configuraciones de Laravel 11 se han fusionado en el fichero app.php
. Las rutas de las API las tenemos en el fichero routes\api.php
Crear el controlador¶
Como viene siendo habitual, mediante artisan creamos el controlador. Lo ideal es agrupar todos los controladores de la API en una carpeta. Además, recuerda que si no tienes creado el modelo asociado al controlador puede ser un buen momento de hacerlo.
El cambio que tendremos en este tipo de controladores es que los return
o que devolvamos o mandemos se hará en formato JSON, que se hará con la función json()
.
<?php
return response()->json(Category::get());
Una vez creado y programado nuestro controlador, deberemos modificar el fichero api.php
para incluir la ruta:
Route::resource('category', CategoryController::class)->except(['create', 'edit']);
Tip
En el except
indicamos lo que no queremos que sea posible en nuestra API. Esto es interesante por si queremos generar una API de solo consulta o bien que pueda ser usada por personas con privilegios para la edición o creación.
Acceso a la API¶
Aún es pronto para hacer algo más automático, pero para ver que todo está correcto podemos acceder al uso de la API. Para ello, deberemos poner en la URL /api/
, esto hará que nuestra aplicación entienda que es el uso de API, y no tengamos conflicto con las rutas de la propia aplicación.
Ejemplo
Para la url https://miweb.com/api/category, me devolverá lo que tenga programado en la función index()
del controlador. Más adelante veremos que podemos acceder a todas las posibilidades que nos da CRUD así como a los métodos que nosotros personalicemos.
Actividades¶
-
AC 803. (RA7 / CE7d CE7e / IC1 / 3p) - Crea los controladores necesarios para listar las tareas.
-
PR 804. (RA7 / CE7d CE7e CE7h / IC2 / 5p) - El encargado de la tienda necesita que le prepares la API para que el ERP1 pueda obtener el listado de productos.
-
ERP hace referencia a "enterprise resource planning" o planificación de recursos empresariales. Es un sistema de software que incluye todas las herramientas y procesos necesarios para dirigir una empresa. ↩