Anotaciones Spring para Exponer APIs RESTful
Clase 25 de 35 • Curso de Java Spring
Contenido del curso
- 10

Conceptos básicos de JPA y anotaciones en Java
03:04 - 11

Gestión de Bases de Datos con Spring Data JPA en Java
05:24 - 12

Conexión y Configuración de Base de Datos en Spring Boot
12:09 - 13

Mapeo de Tablas a Clases con JPA: Creación de Entities en Java
14:00 - 14

Creación de Entities con Clave Primaria Compuesta en JPA
06:49 - 15

Relaciones JPA: Categorías, Productos, Compras y Clientes
10:37 - 16

Repositorios de Spring Data: Gestión Eficiente de Bases de Datos
07:54 - 17

Consultas avanzadas con Query Methods en Spring Data
09:30
- 18

Clase de Repositorio de Productos con Spring Framework
05:19 - 19

Patrón DataMapper en Proyectos Java: Implementación y Beneficios
13:37 - 20

Creación de Mapeadores con MapStruct en Java
11:22 - 21

Repositorio de Productos Orientado al Dominio en Java
09:27 - 22

Inyección de Dependencias en Spring Framework
04:34 - 23

Implementación de Servicios de Dominio en Java con Spring Framework
09:12 - 24

Creación de Controlador REST en Spring Boot
07:14 - 25

Anotaciones Spring para Exponer APIs RESTful
09:25
- 26

Control de Respuestas HTTP con ResponseEntity en Spring
09:11 - 27

Modelado de Dominio para Gestión de Compras en Supermercados
05:27 - 28

Mapeadores en Java para Conversión de Compras y Productos
10:45 - 29

Implementación de Repositorio en Java para Compras en Supermercado
09:01 - 30

Pruebas de API de Compras con Postman
02:56 - 31

Documentación de APIs con Swagger en Spring Boot
12:55
¿Cómo exponer una API utilizando Spring?
El mundo del desarrollo de software es vasto, y una herramienta muy valiosa en la construcción de aplicaciones es la capacidad de exponer APIs de manera eficiente. Spring Framework nos facilita esta tarea proporcionándonos varias anotaciones que nos permiten publicar nuestros servicios rápidamente y con menos complicaciones. En esta clase exploraremos cómo usar las anotaciones @GetMapping, @PostMapping y @DeleteMapping.
¿Cómo usar GetMapping para obtener información?
Para obtener información de nuestro servidor, utilizamos la anotación @GetMapping. Esta anotación nos permite vincular un método a una solicitud HTTP GET. Por ejemplo, si queremos publicar un servicio que recupere una lista completa de productos, simplemente añadimos @GetMapping al método correspondiente, especificando la ruta de acceso adecuada:
@GetMapping("/products")
public List<Product> getProducts() {
return productService.getAllProducts();
}
Cuando implementamos el servicio y lo lanzamos, podemos verificar su correcto funcionamiento desde el navegador o mediante herramientas como Postman. Una solicitud GET sencilla nos devolverá la lista de productos.
¿Cómo recuperar un producto específico por su ID?
Recuperar un producto por su ID es igualmente sencillo, pero requiere un enfoque ligeramente distinto: debemos incluir una variable de ruta en la anotación @GetMapping. Usamos {} para indicar parámetros de ruta dinámicos y @PathVariable para mapearlos al método pertinente:
@GetMapping("/products/{productId}")
public Product getProductById(@PathVariable("productId") Long id) {
return productService.getProductById(id);
}
Aquí, el ID del producto se pasa como parte de la URL, lo que nos permite recuperar el producto específico a través de métodos HTTP.
¿Cómo construir servicios más complejos?
Para manejar solicitudes más complejas, como filtrar productos por categoría, modificamos ligeramente nuestras anotaciones:
@GetMapping("/products/category/{categoryId}")
public List<Product> getProductsByCategory(@PathVariable("categoryId") Long categoryId) {
return productService.getProductsByCategory(categoryId);
}
Asegúrate de diferenciar entre varias rutas posibles para evitar conflictos, por ejemplo, al utilizar identificadores de categorías.
¿Cómo guardar y actualizar información con PostMapping?
Para enviar información nueva al servidor, @PostMapping es la anotación que debemos utilizar, indicando que la información se envía en el cuerpo de la solicitud:
@PostMapping("/products/save")
public Product saveProduct(@RequestBody Product product) {
return productService.saveProduct(product);
}
Con esto, recibimos un nuevo objeto Product que se procesa y guarda en el sistema. Asegúrate de formatear las solicitudes JSON correctamente en herramientas como Postman.
¿Cómo eliminar registros con DeleteMapping?
Cuando necesitamos eliminar un recurso, @DeleteMapping es la solución. Como en operaciones de obtención de datos, utilizamos la variable de ruta para especificar qué recurso debe eliminarse:
@DeleteMapping("/products/{productId}")
public boolean deleteProduct(@PathVariable("productId") Long id) {
return productService.deleteProduct(id);
}
Esta llamada posiblemente retornará un valor booleano indicando si la operación fue exitosa.
Exponer APIs utilizando Spring es una tarea accesible y altamente efectiva. Con estos ejemplos y el poderoso conjunto de herramientas de Spring, puedes empezar a crear servicios robustos y eficientes para tu aplicación. ¡Continúa explorando y desarrollando, ya que siempre hay nuevas técnicas y mejoras esperando ser descubiertas!