Skip to content

A frame for development of springboot apps that joins restful services with jdbc, using request mapping and postgres

Notifications You must be signed in to change notification settings

cabannas/springboot-rest-jdbc-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proyecto Aplicación SpringBoot con RequestMapping y JDBC para PostgreSQL

Proyecto desarrollado en Java para el despliegue de una aplicación Spring que aúna RequestMapping para servicios REST y JDBC para gestionar una base de datos. En este proyecto, JDBC está configurado para una base de datos PostgreSQL.

Despliegue de la aplicación

  1. Descargar el código fuente de GIT:

SPRINGBOOTJDBC-GIT

  1. Importar el proyecto en el IDE (en este caso he usado eclipse debido a las facilidades que otorga a la hora de lanzar aplicaciones Spring)

  2. Crear una base de datos en PostgreSQL que cumpla con los parámetros establecidos en el proyecto importado.

    3.1. Estos parámetros están definidos dentro de "application.properties", que se encuentra dentro de "src/main/resources". Los parámetros definidos por defecto son los siguientes:

  • Nombre de la base de datos: testrequestmap

  • Propietario: postgres

  • Puerto que usa postgreSQL: 5432 (es el que viene por defecto)

    3.2. Para gestionar y controlar la base de datos PostgreSQL yo he utilizado PgAdmin4.

  1. Compilar el proyecto con Maven, con párametros específicos de prelimpieza e instalación (clean install) y saltando la ejecución de los tests de pruebas:

    4.1. Es necesario saltarse los test debido a que éstos no se han desarrollado. Esto se puede hacer marcando la opción "[x] Skip Tests" o especificándolo en los parámetros de lanzamiento si estás en Intellij → https://stackoverflow.com/questions/32006351/intellij-idea-14-how-to-skip-tests-while-deploying-project-into-tomcat.

  2. Ejecutar el proyecto como Springboot Application.

Funcionamiento de la Aplicación

La aplicación está configurada para generar y gestionar datos en una base de datos.

Al iniciar la aplicación, ésta crea una tabla en la base de datos llamada Customer, que trata clientes con los siguientes atributos:

  • customerId - El identificador del cliente de tipo Integer.
  • name - El nombre del cliente de tipo String.
  • age - La edad del cliente de tipo Integer.

La aplicación permite realizar las siguientes operaciones de tipo REST:

(Se ha utilizado el puerto 8081, esto es modificable en "application.properties" como se puede ver en la imagen del tercer paso del despliegue de la aplicación) (No se ha implementado una interfaz para realizar los métodos POST, PUT y DELETE. Se ha utilizado Postman para manipular este tipo de métodos)

  • Método GET con un customerId como parámetro: devuelve un JSON con la información del cliente cuyo identificador coincida con el customerId.

    Sintaxis: "localhost:8081/customers/2"

  • Método GET sin parámetros: devuelve un JSON con todos los clientes actuales en la base de datos.

    Sintaxis: "localhost:8081/customers"

  • Método POST: realiza un post de un cliente, el cual se gestionará introduciéndolo en la base de datos.

    Sintaxis: "localhost:8081/customers/post"

  • Método PUT: realiza un put de un cliente, actualizando la información de éste, utilizando el identificador como clave para actualizar al cliente.

    Sintaxis: "localhost:8081/customers/edit/2"

  • Método DELETE: borra un cliente de la base de datos, a partir de su identificador.

    Sintaxis: "localhost:8081/customers/delete/2"

La aplicación cuenta un una serie de controles de errores muy limitados, no se ha implementado ningún tipo de tratamiento o gestión de errores de tipo "bad input".

Articulos relacionados y referencias:

How to use Spring JDBC Template with Spring Boot for Postgres DataBase

Spring Framework 4.3 New Feature RequestMapping: @GetMapping, @PostMapping, @PutMapping, @DeleteMapping

About

A frame for development of springboot apps that joins restful services with jdbc, using request mapping and postgres

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published