Utilizar propiedades en Spring Boot

El problema Necesitamos pasarle ciertos valores a nuestra aplicación o API para que funcione como esperamos. Algunas soluciones Una de las soluciones puede ser enviarle parámetros (--nombre=valor) durante la inicialización del JAR, de la siguiente manera: $ java -jar cchido.jar --server.port=8765 --hola=mundo O como propiedades del sistema: $ java -Dserver.port=8765 -jar cchido.jar De esta forma podemos tener el equivalente a esas mismas propiedades escritas en el archivo application. [Leer más]

Presentar una fecha humano-leible en una API

Fechas en nuestras APIs En nuestras APIs JSON hechas con Spring Boot muchas veces necesitamos que la información devuelta al hacer una petición GET sea transformada a un formato menos “técnico” por decirlo así y que sea más “humano”. En este post vamos a resolver el cambio de formato para las fechas de los entities de una manera muy sencilla. A continuación el entity que estudiaremos: package mx.edu.uaemex.fi.modelo; import com. [Leer más]
spring  api  json  entity  fecha 

HATEOAS en una API Spring Boot

Recursos vs Representación HATEOAS es el acrónimo de Hypermedia as the Engine of Application State y resulta bastante útil cuando necesitamos que una API represente de forma sencilla un recurso seleccionado, además de contener links a otros recursos que están relacionados con el actual, lo que facilita para el cliente navegar una API REST. Diremos que existen diferencias en cuanto a lo que es un recurso y la representación de ese recurso. [Leer más]

Docker Oracle XE para desarollo/pruebas

Prácticamente siempre es necesario que cada programador cuente con una base de datos instalada en su máquina para propósitos de desarrollo o pruebas, tal vez una base en QA también y finalmente una en producción. Para cada programador, tener un docker que provea el gestor de base de datos es muy útil porque se reducen tiempos de instalación y configuración y en caso de tener un error muy grave en la configuración es tan sencillo resolverlo como borrar el contenedor y crear uno nuevo. [Leer más]

Utilizar un jdbc de un repositorio

En blogs anteriores explicamos de manera general cómo construir una aplicación en Spring Boot que se conectare a una base de Oracle, procuramos redactar de manera detalla todos los elementos para ello; En los blogs pasados, con fines didácticos utilizamos un jdbc dentro de nuestro mismo proyecto, pero hoy vamos a cambiar eso, ahora vamos a utilizar el de un repositorio. Gradle o Maven no son directamente un repositorio sino que usan uno o más de ellos para generar software, tampoco son gestores de paquetes porque un gestor de paquetes se encarga únicamente de instalar, eliminar o cambiar la versión de un paquete o dependencia. [Leer más]

Crear tareas programadas en Spring Boot

Crear cronjobs o tareas programadas en Spring Boot En ocasiones necesitamos programar la ejecución automática de ciertas tareas, por ejemplo, emitir una alerta todos los días a una hora específica, ejecutar un query a una base de datos, envíar un correo con un recordatorio a nuestros trabajadores,etc. Siempre que una tarea tenga un intervalo de tiempo constante entre una ejecución y la siguiente, entonces podemos crear una tarea programada (cronjob) para ella. [Leer más]

Desacoplando la lógica del negocio de los controladores

Quiero darle las gracias a Sergio F por sus acertadas recomendaciones. Código chido está enfocado en aprender y enseñar a implementar proyectos cada vez mejor diseñados y que se adapten a equipos de desarrollo actuales. Desacoplar la lógica de negocio del controlador es un paso hacia lo anterior. Vamos a usar Oracle 11g para construir nuestra API. Si tienes dudas o hay pasos que no te quedan claros puedes revisar nuestro post anterior al mismo tiempo que sigues este tutorial ya que por cuestiones prácticas hay cosas que en el anterior mencionamos pero en este omitiremos. [Leer más]

Construir API RESTful con Spring Boot, Oracle 11g y Liquibase desde cero

Introducción Este blog es muy similar al anterior, pero ahora vamos a utilizar Oracle y Liquibase para las migraciones. Como antes, vamos a construir una api que pueda hacer selects, inserts, updates y deletes de la base de datos del acervo de tesis de una universidad. Antes de comenzar me gustaría aclarar que el término migración en nuestro contexto, no tiene nada que ver con resolver la necesidad de cambiar un gestor de base de datos por otro o actualizar la versión del gestor actual, sino que se refiere a versionar la base, así como Git nos permite versionar el código, el tener migraciones nos permitirá conocer, revertir o implementar un cambio en la base de datos de una manera más fácil y sin el riesgo de que “se te olvide” o que hagas un rollback medio extraño o a medias, esto no debería pasar porque absolutamente todos los cambios que ha sufrido la base están documentados. [Leer más]

Construir una API RESTful con Spring Boot y MySQL desde cero

Introducción En este blog vamos a construir una api que pueda hacer selects, inserts, updates y deletes de la base de datos del acervo de tesis de una universidad. Análisis y diseño El siguiente diagrama de clases modela nuestro acervo de tesis: Lo que equivaldría al siguiente diagrama entidad-relación: Quiero explicarte el por qué de este diagrama E-R Existen diferentes tipos de relaciones en los modelos (Entities),pero para este caso vamos a usar Single Table para Tesista y Asesor y usaremos Join Table para tesis-asesor y tesis-tesista. [Leer más]
spring  java  api