Serie: Spring Boot de Hello World a API lista para producción

Una serie práctica para construir una API con Spring Boot desde un endpoint básico hasta una aplicación estructurada, testeada y preparada para ejecutarse en entornos reales.

Esta serie contiene 5 artículos y sigue creciendo.

1 Spring Boot Hello World

Spring Boot es en la actualidad un estándar en el desarrollo de aplicaciones Java, con mucho protagonismo en el mundo empresarial. Con una configuración inicial simplificada e inteligente permite levantar servicios en minutos. Incluye un servidor embebido y un ecosistema muy completo de starters que simplifican las dependencias necesarias para el desarrollo de muchos tipos de aplicaciones. Objetivo Para ejemplificar esta simplicidad, se desarrolla un servicio web con un solo endpoint que devuelva un mensaje de Hello World. ...

Artículo 1 de 5  ·  3 min

2 Primer test en Spring Boot

Alrededor de la programación hay una serie de tareas menos agradecidas y poco atractivas para la mayoría de los desarrolladores: el análisis, la documentación… los tests y las pruebas. Con cada nuevo evolutivo solemos lanzarnos directamente al teclado, abrir nuestro IDE y empezar a picar código, cuando muchas veces lo más efectivo a largo plazo es comenzar con papel y bolígrafo, desgranando qué queremos hacer realmente. Con las pruebas y los tests sucede algo similar. Durante el desarrollo vamos lanzando comprobaciones manuales y, cuando vemos que todo más o menos funciona, lo damos por válido. Puede que incluso documentemos alguna de ellas, pero suele percibirse como otra tarea pesada que no siempre motiva y que intentamos quitarnos de encima cuanto antes. ...

Artículo 2 de 5  ·  5 min

3 Recibiendo datos en una API con @RequestParam

Una API es la puerta de entrada a nuestra aplicación: recibe peticiones desde el exterior, extrae los datos que le envían, ejecuta la lógica necesaria y devuelve una respuesta. Hasta ahora, en nuestra API HelloWorld solo recibimos peticiones y damos una respuesta. El siguiente paso es permitir que un cliente nos pase información a través de la URL. Formas en las que una API puede recibir datos El componente encargado de extraer los datos de la petición es el controlador. En una API HTTP, éstos pueden llegar al endpoint de varias maneras según su finalidad: ...

Artículo 3 de 5  ·  4 min

4 Mejorando la respuesta de nuestra API

Hasta ahora nuestro código está devolviendo un String de forma directa que Spring Boot convierte automáticamente en una respuesta HTTP completa. Ésta, por defecto, incluye un código de estado (200 OK) y un cuerpo con el mensaje. El siguiente paso para mejorar el diseño de nuestra API es controlar completamente la respuesta y adaptarla a nuestra lógica, para lo que contamos con la clase ResponseEntity. Qué es una respuesta HTTP Una respuesta HTTP es el mensaje que devuelve el servidor cuando un cliente realiza una petición a una API. Esta respuesta incluye principalmente un código de estado, que indica si la operación ha sido correcta o ha ocurrido algún problema, y un cuerpo con los datos que queremos devolver. ...

Artículo 4 de 5  ·  5 min

5 Sustituyendo Map por un DTO en nuestra API

Si nuestros endpoints devuelven String o Map, ya contamos con una API plenamente funcional, pero no es la mejor solución. El problema es que la estructura de la respuesta está demasiado abierta, lo que la hace más frágil y difícil de mantener. Para especificar de forma clara el contrato de la API, es conveniente introducir en este punto los DTO (Data Transfer Objects). El problema de devolver un Map Hasta ahora, nuestra API devuelve datos, pero sin estar representados de forma explícita y mantenible. Spring serializa el Map sin problema a JSON, pero presenta una serie de inconvenientes que lo hacen poco adecuado para una API que empieza a evolucionar: ...

Artículo 5 de 5  ·  4 min