Sumérgete en el mundo Spring Boot
El pasado 1 de junio Armadillo Amarillo asistió a un evento organizado por el grupo API Adicts en el Telefónica Flagship Store de Gran Vía, su título: ‘Desarrolla tu primera API con Spring Boot’.
Rafael Goterris, CTO de CloudAppi, disertó sobre los conceptos de Spring Boot, Spring Data Rest y Spring MVC. Spring Boot es una parte de Spring que posee una serie de características listas para usar como un Apache Tomcat y una base de datos H2 embebidas para que el desarrollo de aplicaciones se lleve a cabo de una forma rápida y sencilla. Tras unas diapositivas, definiendo los conceptos anteriormente reseñados, se pasó a realizar unas demos donde poder demostrar la veracidad de lo explicado.
En el primer ejemplo se realizó una pequeña aplicación donde se creaban usuarios y se le asignaban las posibles direcciones que pudiera tener. En este se desarrolló con el concepto de HATEOAS, Hypermedia as the engine of Application State (hipermedia como motor del estado de la aplicación), esto es, a grandes rasgos: el servidor devuelve una representación de un recurso donde parte de la información devuelta son identificadores únicos en forma de hipervínculos a otros recursos asociados. Es como navegar por la información sin ningún tipo de conocimiento previo de cómo interactuar con la aplicación más allá de una comprensión genérica del uso de hipermedia.
Class Customer {
String name;
}
JSON:
{“name”: “Alice”}
HATEOAS:
{
“name”: “Alice”,
“links” : [{
“rel”: “self”,
“href”: https://localhost:8080/customer/1
}]
}
En segundo ejemplo se desarrolló la misma aplicación pero en esta ocasión el patrón usado fue el conocido MVC (Modelo Vista Controlador).
La conclusión que pude sacar es que Spring Boot te proporciona una serie de herramientas desde https://start.spring.io/ donde se puede configurar el proyecto para posteriormente llevarlo a tu IDE favorito y realizar el desarrollo en local, con la posibilidad de exportarlo a desarrollo por medio de un archivo de propiedades que contendrá las diferentes configuraciones a usar en su despliegue.