Creando una API con Lumen — CRUD

Gabriel Meireles
dev.meireles
Published in
3 min readApr 23, 2019

--

¡Hola a todos! Recientemente he creado una API con Lumen y creo que sería muy bueno compartirlo.
El Laravel Lumen es un microframework PHP increíblemente rápido para la construcción de aplicaciones web. Con el Lumen es posible crear rutas, filas, almacenamiento en cache y abstracción de base de datos. La version actual es la 5.8 y tiene los seguientes requisitos:

  • PHP >= 7.1.3
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension

Instalación

Lumen utiliza Composer para gestionar las dependencias, después de instalar el Composer ejecute el siguiente código en el terminal:

composer global require laravel/installer

Después de la instalación vaya a la carpeta web raíz y ejecute en el terminal:

lumen new lumen_api

Aún el terminal ejecute:

php -S localhost:8000 -t public

Y en el browser acceda http://localhost:8000/

Configuración

En la carpeta raíz del proyecto hay un archivo llamado .env que está en cargo de determinadas variables de configuración, como por ejemplo la base de datos:

Base de datos

En el archivo bootstrap/app.php se necesita quitar los comentarios de las líneas $app->withFacades(); y $app->withEloquent();

Ahora vamos crear la tabla books con el migration:

php artisan make:migration table_books  --create=books

Crearemos tambien el archivo app/BookModel.php

Y ahora ejecute en el terminal:

php artisan migrate

Controllers

Crearemos el archivo de controller app/Http/Controllers/BookController.php
Tendremos funciones para listar todos los libros, exhibir un sólo resultado, grabar, actualizar y borrar.

Rutas

Basandosé en el controller, crearemos las rutas para la aplicación en el archivo routes/web.php:

Accedendo la aplicación con API Client

Yo tengo la costumbre de trabajar con el Insomnia, pero hay otros API Clients como Postman o Katalon.
Sin embargo, vamos crear nuestro primer libro con un POST en http://localhost:8000/api/book seleccionando la opción Multipart. No te olvides de informar el title, author y description del libro.

CREATE — Creando un registro

Con un GET en http://localhost:8000/api/book es posible listar todos los libros:

READ — Listando los registros

Ya con un GET en http://localhost:8000/api/book/{id} pero informando el id del libro es posible listar un sólo, como por ejemplo el id 1:

READ — Listando un único registro

Con un PUT en http://localhost:8000/api/book/{id} es posible cambiar las informaciones del libro, siguiendo lo mismo procedimiento con Multipart y informando el id del libro:

UPDATE — Cambiando informaciones

Y por último el método para borrar un registro, acceda http://localhost:8000/api/book/{id} con DELETE

DELETE — Borrando el libro

--

--