Comparte en Facebook Twitter Google+

api-rest-laravel-5-1-crud-de-usuarios

En la lección anterior aprendimos sobre la estructura básica de una API REST con Laravel 5.1 mediante la creación de recursos, en esta ocasión vamos a agregar la lógica correspondiente al recurso de usuarios que nos permita crear, almacenar, modificar y eliminar un registro.

Para verificar que todo se ejecute correctamente haremos uso del componente de pruebas de Laravel, en este caso no explicaremos en detalle cómo se utiliza dicho componente pero si estas interesado en aprender un poco más de él puedes ingresar al curso Curso introductorio de Laravel 5.1 dónde encontraras una sección completa dedicada a este tema.

Para crear la tabla de usuarios vamos a hacer uso de la migración que se crea por defecto en cada nuevo proyecto de Laravel, entonces iniciamos configurando las credenciales de acceso a la base de datos a través del archivo .env de nuestra aplicación

Posteriormente ejecutamos la migración con

A continuación vamos a agregar la lógica básica a cada una de las funciones correspondientes en el archivo UsersController.php, recuerda agregar lo siguiente en la cabecera del archivo

Crear nuevos usuarios

Actualizar un usuario

Obtener los datos de un usuario

Eliminar a un usuario

Como puedes ver estamos devolviendo un array con una respuesta, por defecto Laravel convierte estas respuestas en objetos .json. Para asegurarnos que hasta ahora todo funciona correctamente podemos escribir una prueba rápida haciendo uso del componente de pruebas de Laravel. Iniciamos creando un archivo llamado UserTest.php dentro del directorio tests de nuestra aplicación

Ejecutamos la prueba desde la consola con

En este caso vamos a obtener un error similar a este

api-test

Este error ocurre debido a que Laravel hace uso de un Middleware llamado VerifyCsrfToken.php (cross-site request forgeries) para verificar la autenticidad del usuario que esta realizando la petición, cada vez que enviamos una petición a través de un formulario (POST, PUT) debemos incluir un campo (“_token”) con el valor del token generado para dicha petición, esto puede lograr utilizando el helper

Este último devuelve un campo de tipo hidden con el valor del token para la petición.

En nuestro caso, no estamos haciendo uso de formularios, tampoco estamos enviando este valor como parte de la petición, en las pruebas esta verificación se puede evadir agregando la siguiente linea al archivo UserTest.php

De esta forma estamos indicando que no se deben ejecutar Middleware en la clase, en nuestro caso UserTest.php. Una vez agregada esta linea podemos verificar nuevamente la prueba

api-test-assert

Perfecto, hasta ahora todo esta funcionando correctamente, pero si te fijas un poco, todas las funciones esperan que los datos recibidos sean correctos y envían una única respuesta para ese caso, aun no tenemos una respuesta en caso de que los datos sean incorrectos o el proceso no se ejecute de la forma esperada, en la próxima lección abordaremos ese tema, agregando validaciones y manejando algunos tipos de excepciones.

Material relacionado

Aprende PHP, Laravel y más por sólo 999 al mes: ver planes.

Lección anterior API REST con Laravel 5.1 - Primeros pasos Lección siguiente API REST en Laravel 5.1 - Validaciones y Excepciones