0% encontró este documento útil (0 votos)
4 vistas3 páginas

Formación Java - Banca - Ejercicio Pautado - API REST Java. 7

El documento describe los requisitos y pasos para construir una API REST en Java utilizando Spring, JPA y Hibernate. Se especifican las tecnologías necesarias, la estructura de la base de datos, las operaciones CRUD a implementar y la configuración del proyecto. También se menciona la posibilidad de añadir un modelo de roles para gestionar permisos de usuario.

Cargado por

Antonio Guirao
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas3 páginas

Formación Java - Banca - Ejercicio Pautado - API REST Java. 7

El documento describe los requisitos y pasos para construir una API REST en Java utilizando Spring, JPA y Hibernate. Se especifican las tecnologías necesarias, la estructura de la base de datos, las operaciones CRUD a implementar y la configuración del proyecto. También se menciona la posibilidad de añadir un modelo de roles para gestionar permisos de usuario.

Cargado por

Antonio Guirao
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

EJERCICIO PAUTADO: API REST EN JAVA.

SPRING (+JPA, +HIBERNATE)


Requisitos técnicos:
- JDK (21/22) de Java.
- Apache Maven (últimas versiones)
- IDE (Eclipse o IntelliJ IDEA)
- Servidor de BBDD (MySQL Server o Oracle Database)
o No es necesario instalar en caso de utilizar H2 Database (recomendado)
- Plugin de SonarLint instalado en el IDE utilizado.
- Postman.

Requisitos de la aplicación:
- No debe tener errores de SonarLint (ni, obviamente, de compilación y/o ejecución)
- API REST en Spring.
- CRUD sencillo (consultar, eliminar, actualizar, añadir)
- Dos tablas:
o T_CUSTOMER en una relación 1:N con T_ACCOUNT.
o Una persona tiene varias cuentas, una cuenta solo pertenece a una persona.
o T_CUSTOMER (C_ID_CUSTOMER, C_NAME, C_ID_DOC_NUMBER, C_PHONE_NUMBER)
o T_ACCOUNT (C_ID_ACCOUNT, C_FK_ID_CUSTOMER, C_ID_NUMBER, C_BANK)

Nota: para el número de cuenta, de teléfono y DNI no son necesarias validaciones de formato.
Nota: el DNI y el número de cuenta serán campos únicos (unique = true)

- Desde Postman se podrá, mediante peticiones HTTP:


o Insertar cuentas.
o Insertar clientes.
o Consultar todos los clientes.
o Consultar todas las cuentas.
o Consultar clientes por DNI (ID_DOC_NUMBER)
o Consultar cuentas por número (C_ID_NUMBER)
o Consultar cuentas por DNI de cliente asociado.
o Eliminar un cliente por DNI.
o Eliminar una cuenta por número.
o Actualizar un dato del cliente, por DNI.
o Actualizar el banco de una cuenta, por número.

- OPCIONAL: Para un nivel más avanzado, implementar un modelo de roles donde un


usuario pueda consultar, pero solo un administrador pueda insertar, actualizar y eliminar.
Construcción de la aplicación:
1. Construir el proyecto con Initializer de Spring (https://start.spring.io/)
• Utilizar Apache Maven.
• Utilizar la versión de Java 21/22.
• Utilizar la versión de Spring 3.3.2.
• Info del proyecto:
• GroupID: com.bootcamp
• Artifact: project-bootcamp-bank-inicialesNombre
• Description: Proyecto Bootcamp Banca
• Package: com.bootcamp
• Packaging: jar
• Dependencias:
▪ Spring Boot DevTools
▪ Spring Web
▪ Spring Data JPA
▪ Driver de tu servidor BBDD (H2 Database, MySQL Driver, Oracle Driver...)
▪ Lombok ( opcional)
▪ Spring Security ( opcional)

2. Descargar el proyecto e importar al IDE (Eclipse o IntelliJ IDEA)

3. Actualizar/descargar dependencias de nuestro proyecto en el IDE.


• Eclipse: update maven (ALT + F5 sobre el proyecto)
• IntelliJ: maven refresh (CTRL + SHIFT + A sobre el pom.xml del proyecto + escribir
'reimport')

4. Empezar a desarrollar el código:

• Configuración de Spring (application.properties o application.yml):


▪ Conexión a BBDD (en caso de tener un servidor distinto a H2 Database)
▪ Configuración de seguridad ( opcional)

• Crear los distintos paquetes (representativos de cada capa)


▪ com.bootcamp.controllers
▪ com.bootcamp.services
▪ com.bootcamp.persistence
▪ com.bootcamp.persistence.models
▪ com.bootcamp.persistence.repositories
• Crear las clases necesarias en cada paquete:

▪ com.bootcamp.controllers
▪ CustomerRestController
▪ public Customer searchCustomerByIdDocNumber(Customer
customer){...}
▪ AccountBankController

▪ com.bootcamp.services
▪ CustomerManagementServiceI (interface)
▪ public Customer getCustomerByIdDocNumber(Customer customer)
▪ CustomerManagementServiceImpl implements
CustomerManagementServiceI
▪ public Customer getCustomerByIdDocNumber(Customer customer){...}
▪ AccountManagementServiceI (interface)
▪ AccountManagementServiceImpl implements
AccountManagementServiceI

▪ com.bootcamp.persistence
▪ com.bootcamp.persistence.repositories
▪ CustomerRepositoryI (interface)
▪ public Customer findCustomerByIdDocNumber(String
idDocNumber)
▪ AccountRepositoryI (interface)
▪ com.bootcamp.persistence.models
▪ Customer implements Serializable
▪ Account implements Serializable

Nota: en este esquema se ha añadido al menos un método de ejemplo para tomarlo de referencia.

También podría gustarte