0% encontró este documento útil (0 votos)
1 vistas7 páginas

Tutorial Capturar Datos Spring

El tutorial explica cómo Spring Boot MVC captura datos de diferentes fuentes como URL, formularios HTML, parámetros de consulta y JSON. Se presentan siete métodos para recibir datos: @PathVariable, @RequestParam, @ModelAttribute, @RequestBody, HttpServletRequest, @RequestHeader y @CookieValue, cada uno con ejemplos y usos específicos. El objetivo es entender el flujo de datos desde el cliente hasta el controlador en una aplicación web.

Cargado por

ØSITØ MĄŁÖ
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)
1 vistas7 páginas

Tutorial Capturar Datos Spring

El tutorial explica cómo Spring Boot MVC captura datos de diferentes fuentes como URL, formularios HTML, parámetros de consulta y JSON. Se presentan siete métodos para recibir datos: @PathVariable, @RequestParam, @ModelAttribute, @RequestBody, HttpServletRequest, @RequestHeader y @CookieValue, cada uno con ejemplos y usos específicos. El objetivo es entender el flujo de datos desde el cliente hasta el controlador en una aplicación web.

Cargado por

ØSITØ MĄŁÖ
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

Tutorial: Cómo capturar datos en Spring Boot MVC

Objetivo:

Entender cómo el servidor (Spring Boot) recibe datos desde:

• URL
• Formularios HTML
• Parámetros
• JSON (APIs)

1. IDEA CLAVE (ANTES DE CODIFICAR).

Cuando un usuario interactúa con una web:

Usuario → Navegador → HTTP Request → Controlador (Spring)

Todo lo que el usuario envía llega en la petición HTTP

Formas en que viajan los datos:

Forma Ejemplo
URL /mascota/1
Query Params /buscar?nombre=Firulais
Formulario <form method="POST">
JSON { "nombre": "Firulais" }

2. FORMA 1: @PathVariable (DATOS EN LA URL)

Concepto
Se usa cuando los datos vienen dentro de la ruta.

Ejemplo real:

/mascota/10

Ejemplo práctico
@GetMapping("/mascota/{id}")
public String obtenerMascota(@PathVariable String id){
[Link]("ID: " + id);
return "detalle";
}

¿Qué pasó?
• {id} en la URL → se convierte en variable Java
• Spring hace el mapeo automáticamente

Cuándo usarlo
✔ Identificadores únicos
✔ Rutas REST

3. FORMA 2: @RequestParam (PARÁMETROS


DE CONSULTA)
Concepto
Captura datos que vienen en la URL así:

/buscar?nombre=Firulais

Ejemplo
@GetMapping("/buscar")
public String buscar(@RequestParam String nombre){
[Link]("Nombre: " + nombre);
return "resultado";
}

¿Por qué es importante?


Es muy usado en:

• Filtros
• Búsquedas
• Formularios GET
Variante opcional
@RequestParam(required = false)

Permite que el parámetro no sea obligatorio

4. FORMA 3: @ModelAttribute
(FORMULARIOS HTML)
Concepto
Convierte automáticamente un formulario HTML en un objeto Java.

Ejemplo completo
HTML
<form action="/guardar" method="POST">
<input type="text" name="nombre">
<input type="text" name="raza">
<button type="submit">Guardar</button>
</form>

Clase Java
public class Mascota {
private String nombre;
private String raza;
}

Controlador
@PostMapping("/guardar")
public String guardar(@ModelAttribute Mascota mascota){
[Link]([Link]());
return "ok";
}
¿Qué hizo Spring?
Automáticamente:

name="nombre" → [Link]
name="raza" → [Link]

Cuándo usarlo
✔ Formularios HTML
✔ CRUD tradicionales

5. FORMA 4: @RequestBody (DATOS JSON -


APIs REST)
Concepto
Captura datos enviados en formato JSON.

Ejemplo
JSON enviado
{
"nombre": "Firulais",
"raza": "Labrador"
}

Controlador
@PostMapping("/api/mascota")
public String guardar(@RequestBody Mascota mascota){
[Link]([Link]());
return "ok";
}

¿Qué pasa aquí?


Spring usa Jackson para convertir:

JSON → Objeto Java

Importante
✔ Se usa en APIs
✔ No funciona con formularios HTML normales

6. FORMA 5: HttpServletRequest (FORMA


BAJO NIVEL)
Concepto
Acceso directo a la petición HTTP.

Ejemplo
@GetMapping("/request")
public String capturar(HttpServletRequest request){

String nombre = [Link]("nombre");

[Link](nombre);

return "ok";
}

¿Por qué existe?


Es la forma más básica (Java puro)

Desventaja
• Más código
• Menos elegante
Cuándo usarlo
✔ Casos especiales
✔ Debugging

7. FORMA 6: @RequestHeader (CABECERAS


HTTP)
Concepto
Captura información del encabezado HTTP.

Ejemplo
@GetMapping("/header")
public String header(@RequestHeader("User-Agent") String agente){
[Link](agente);
return "ok";
}

¿Para qué sirve?


Saber:

• Navegador
• Tokens
• Autenticación

8. FORMA 7: @CookieValue (COOKIES)


Concepto
Captura datos almacenados en cookies.
Ejemplo
@GetMapping("/cookie")
public String cookie(@CookieValue("miCookie") String valor){
[Link](valor);
return "ok";
}

Uso real
Sesiones, preferencias

RESUMEN GENERAL
Método De dónde vienen los datos Uso típico
@PathVariable URL IDs
@RequestParam Query string Filtros
@ModelAttribute Formularios CRUD
@RequestBody JSON APIs
HttpServletRequest HTTP raw Bajo nivel
@RequestHeader Headers Seguridad
@CookieValue Cookies Sesión

IDEA FINAL (LA MÁS


IMPORTANTE)
Todos estos métodos responden a una sola pregunta:

¿Dónde vienen los datos?

Flujo mental correcto


Cliente → HTTP → Spring → Anotación → Variable Java

También podría gustarte