Cómo acceder a una variable de la URL en Spring Boot
Cuando programamos en Java usando el framework Spring Boot es muy común definir rutas en donde se define un parámetro pasado a través de la URL.
Por ejemplo, podemos tener la siguiente ruta:
http://localhost:8080/productos/editar/16
En este caso el último número es un parámetro de la ruta. Ahora bien, ¿cómo acceder a la variable de la ruta en el controlador de Spring Boot?
Acceder a PathVariable
Esto es muy fácil. En nuestro controlador definimos nuestra ruta, ya sea POST, PUT, GET, DELETE. A la variable de ruta hay que encerrarla entre llaves. Por ejemplo:
@GetMapping(value = "/editar/{id}")
public String mostrarFormularioEditar(@PathVariable int id, Model model) {
model.addAttribute("producto", productosRepository.findById(id));
return "productos/editar_producto";
}
En la línea 1 definimos la ruta en donde vamos a acceder a la variable a través de {id}
.
Para recuperar la variable de la ruta con Spring Boot inyectamos @PathVariable
(línea 2) en nuestro método, indicando su tipo y el nombre de la variable.
Después, con ese valor, ya podemos trabajar.