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

Api Rest

El documento describe el proceso de creación de una API REST utilizando Spring Boot y JPA, incluyendo las dependencias necesarias y la estructura del proyecto. Se detallan los componentes clave como controladores, modelos de datos, repositorios y la capa de servicio, así como la configuración para la conexión a una base de datos PostgreSQL. Además, se incluyen propiedades para la creación automática de tablas y la visualización de consultas SQL al iniciar la aplicación.
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 vistas8 páginas

Api Rest

El documento describe el proceso de creación de una API REST utilizando Spring Boot y JPA, incluyendo las dependencias necesarias y la estructura del proyecto. Se detallan los componentes clave como controladores, modelos de datos, repositorios y la capa de servicio, así como la configuración para la conexión a una base de datos PostgreSQL. Además, se incluyen propiedades para la creación automática de tablas y la visualización de consultas SQL al iniciar la aplicación.
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/ 8

Creación de una API REST con Spring

Boot y JPA
Creación de una API REST con Spring Boot y JPA............................................................ 1
Dependencias del Proyecto............................................................................................... 2
Estructura del Proyecto...................................................................................................... 3
1. Controlador (Controller)............................................................................................3
2. Modelo de Datos (Model)......................................................................................... 4
a. Entidades (JPA Entities)..................................................................................... 4
b. DTO (Data Transfer Object)............................................................................... 5
c. Repositorio (DAO - Data Access Object)............................................................6
4. Servicio (Service Layer)........................................................................................... 7
Configuración en application.properties............................................................................. 8
Conexión a PostgreSQL...............................................................................................8
Crear base de datos al iniciar.......................................................................................8
Dependencias del Proyecto
Para desarrollar una API REST utilizando Spring Boot y JPA, es necesario agregar las
siguientes dependencias en el archivo pom.xml de Maven:

●​ Spring Boot DevTools → Facilita el desarrollo proporcionando recarga automática.


●​ Spring Web → Permite crear controladores y manejar peticiones HTTP.
●​ Rest Repositories → Facilita la creación de repositorios RESTful.
●​ PostgreSQL Driver → Controlador para la conexión con la base de datos
PostgreSQL.
●​ Spring Data JPA → Proporciona herramientas para interactuar con bases de datos
mediante JPA.
●​ Validation → Permite agregar validaciones a los modelos de datos.
Estructura del Proyecto
El proyecto debe organizarse en distintos paquetes con responsabilidades bien definidas:

1. Controlador (Controller)

Aquí se gestionan las solicitudes HTTP.

●​ Se define con la anotación @RestController y se establece un prefijo para las


rutas con @RequestMapping.

●​ Se inyecta el servicio con @Autowired.


●​ Se manejan los métodos HTTP con @GetMapping, @PostMapping, @PutMapping
y @DeleteMapping.
●​ Se usan ResponseEntity<> para gestionar respuestas HTTP.

Ejemplo de respuestas HTTP con ResponseEntity:


2. Modelo de Datos (Model)

Dentro de este paquete, encontramos:

a. Entidades (JPA Entities)

Representan tablas de la base de datos.

●​ @Entity → Indica que la clase representa una entidad de base de datos.


●​ @Table(name = "empleados") → Define la tabla en la base de datos.
●​ @Id y @GeneratedValue → Identificador único de cada entidad.
●​ @Column(name = "", nullable = false, length = 10) → Configuración
de columna.
●​ @ManyToOne y @OneToMany → Relacionan tablas entre sí.
●​ @JsonBackReference y @JsonManagedReference → Evitan problemas de
serialización en relaciones bidireccionales.
b. DTO (Data Transfer Object)

Permite manejar datos específicos en consultas.


c. Repositorio (DAO - Data Access Object)

Interfaz que extiende de CrudRepository o JpaRepository para manipular la base de


datos.

●​ @Repository → Indica que la interfaz gestiona datos.


●​ @Query → Permite ejecutar consultas personalizadas.
●​ @Param → Asigna parámetros a la consulta.
4. Servicio (Service Layer)

Implementa la lógica de negocio y se comunica con el repositorio.

●​ @Service → Indica que la clase contiene lógica de negocio.


●​ Usa usuarioRepository para interactuar con la base de datos.
Configuración en application.properties

Conexión a PostgreSQL

Crear base de datos al iniciar


Para poder hacer que se cree al iniciar deberemos usar estos dos properties

●​ spring.jpa.hibernate.ddl-auto=create → Crea las tablas automáticamente


al iniciar el proyecto.
●​ spring.jpa.show-sql=true → Muestra las consultas en consola.

También podría gustarte