Creación de Recursos en Laravel para Formato Personalizado de Datos
Clase 8 de 18 • Curso de API REST con Laravel
Resumen
¿Cómo mejorar el formato de los recursos en una API?
Desarrollar una API no se trata solo de conectar y obtener datos, sino de presentarlos de manera organizada y comprensible. En este contexto, aprender a utilizar recursos para mejorar el formato de los datos es crucial. A continuación, veremos cómo crear y configurar una clase de recurso en Laravel para lograr un diseño más intuitivo y fácil de consumir por aplicaciones externas.
¿Cómo crear una clase de recurso en Laravel?
Para mejorar la presentación de los datos, se puede utilizar una clase de recurso en Laravel que permite definir un formato específico.
- Abrir el terminal en Visual Studio Code: Accedemos al terminal integrado de nuestro editor de código favorito.
- Crear la clase de recurso con Artisan:
La clase se denominaphp artisan make:resource BunoPostResource
BunoPostResource
. Observa que "Buno" indica la versión uno de la API (abreviada como "buno"). Aunque no tengamos planificada una versión dos, estipulamos este prefijo anticipándonos a futuras expansiones.
¿Cómo configuro la estructura del recurso?
El objetivo es dar formato a los datos que estamos obteniendo de nuestra base de datos y que se visualizan en Postman o se entregan a otros servicios.
- Modificar la clase de recurso: Una vez generada, encontramos la carpeta creada dentro de
HTTP
en nuestro proyecto. Solo es necesario cambiar la información que queremos mostrar:public function toArray($request) { return [ 'title' => $this->title, 'slug' => $this->slug, 'excerpt' => $this->excerpt, 'content' => $this->content, ]; }
En este caso, solo mostramos los campos title
, slug
, excerpt
y content
. Estos campos se extraerán, algunos de manera directa y otros como campos virtuales, del modelo Post
.
¿Cómo se implementa el recurso en el controlador?
Después de definir el recurso, es necesario integrarlo en el controlador correspondiente para que se use a la hora de devolver datos.
-
Configurar el controlador:
- Ir al controlador de versión uno, por ejemplo,
PostController
. - Importar el recurso recién creado:
use App\Http\Resources\BunoPostResource;
- Ir al controlador de versión uno, por ejemplo,
-
Utilizar el recurso en el método del controlador:
- Retornar los datos usando la clase de recurso:
return new BunoPostResource($post);
- Retornar los datos usando la clase de recurso:
¿Qué beneficios ofrece el uso de recursos en una API?
El uso de recursos forma parte del proceso para ofrecer APIs más limpias, mantenibles y flexibles.
- Formato flexible y dinámico: Permite decidir qué información mostrar sin alterar los datos en la base de datos.
- Consistencia en la salida: Un formato definido asegura que otras aplicaciones o servicios que consumen la API lo hagan de manera uniforme.
- Facilidad de mantenimiento y escalabilidad: Al preparar nuestra API para futuras versiones, facilitamos la evolución y mantenimiento del proyecto.
En resumen, para perfeccionar la experiencia de los usuarios al interactuar con una API, es vital prestar atención al formato de los datos y cómo estos se presentan, asegurando así una arquitectura sólida y preparada para el crecimiento.