@PutMapping es una anotación específica de Spring que se usa para mapear las solicitudes HTTP PUT a métodos de un controlador. Generalmente, se emplea para operaciones de actualización de recursos, ya sea para cambiar datos completos o parciales de un recurso identificado por un parámetro, como el ID. Esta anotación es útil cuando se desea sobrescribir o modificar la información existente en el servidor con datos proporcionados por el cliente.
La diferencia principal entre @PostMapping y @PutMapping radica en que PUT se utiliza para actualizar recursos existentes, mientras que POST se usa principalmente para crear nuevos recursos.
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MiControlador {
// Endpoint para actualizar un recurso con un ID específico
@PutMapping("/actualizarUsuario/{id}")
public String actualizarUsuario(@PathVariable("id") int id, @RequestBody Usuario usuarioActualizado) {
// Lógica de actualización del usuario (solo para ejemplo)
return "Usuario con ID " + id + " actualizado a: " + usuarioActualizado.getNombre();
}
}
// Clase Usuario para el ejemplo de recepción de datos JSON
class Usuario {
private String nombre;
private int edad;
// Getters y setters
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
}
En este ejemplo:
@PutMapping("/actualizarUsuario/{id}") define un endpoint que recibe un ID como parámetro de ruta (@PathVariable) y un objeto Usuario con los nuevos datos (@RequestBody).
ID proporcionado y devuelve un mensaje confirmando la operación.
Para obtener más información sobre @PutMapping, visita la documentación oficial de Spring.
Jorge García
Fullstack developer