Está en la página 1de 18

Spring Boot - API REST

ISW TEAM
Spring Boot
- Construcción de aplicaciones Spring cómodas de configurar.
- Spring Boot Starters: Fácil gestión de dependencias (pom.xml)
- spring-boot-starter-web provee dependencias para desarrollar un servicio REST.
- Spring MVC
- Jackson (vinculación con JSON)
- Tomcat
Servicio web REST
- Una URL representa un recurso, ej: localhost:8080/api/recursos
- Colección: localhost:8080/api/recursos
- Elemento: localhost:8080/api/recursos/1
- Métodos HTTP para operaciones/solicitudes sobre los recursos.
- POST, GET, PUT, DELETE
- Códigos de estado, en respuesta a las solicitudes (200, 201, etc)
Objetivo
- Supongamos que tenemos un modelo sencillo de un Médico, que posee distintos atributos
(nombre, cargo, estado), y queremos:
- Crear Médicos a través de una petición POST.
- POST -> localhost:8080/api/medicos
- Hacer peticiones para obtener una lista de médicos.
- GET -> localhost:8080/api/medicos
Requisitos previos
- Haber instalado JDK 1.8 y Maven.
- Haber instalado PostgreSQL localmente.
- Haber instalado IDE.
- Eclipse
- IntelliJ IDEA
- etc
- Haber instalado Postman (Opcional).
Generar un proyecto
Propiedades de Aplicación

Nombre de BD
Estructuras típicas de proyecto

1. https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-locating-the-main-class
Componentes

@RestController @Service @Repository

Clases que Lógica de Persistencia de


manejan las negocio, filtros, Datos. Métodos
peticiones. sobre la data. sobre BD.
Representar a los médicos - Uso de JPA
Crear interface Repository
Crear clase Service
Crear clase Controller
Otras anotaciones del controlador
● GET localhost:8080/api/medicos/{id}
○ @GetMapping(“/{id}”)
○ public .. getMedicos(@PathVariable(“id” ) int id) {...}
● GET localhost:8080/api/medicos?estado=disponible
○ @GetMapping(“”)
○ public … getMedicos(@RequestParam(value="estado") String estado) {...}
● PUT localhost:8080/api/medicos/{id}
○ @PutMapping(“/{id}”)
○ public … updateMedico(@RequestBody()..., @PathVariable(...)...) {...}
● DELETE localhost:8080/api/medicos/{id}
○ @DeleteMapping(“/{id}”)
○ public … deleteMedico(@PathVariable(...)...) {...}
Testear la API - POST
Testear la API - GET
En Base de Datos...
Referencias!
- Guías: https://spring.io/guides
- Referencia: https://spring.io/guides/gs/rest-service/

También podría gustarte