diff --git a/src/main/java/com/uva/users/Controller/ControllerVinos.java b/src/main/java/com/uva/users/Controller/ControllerVinos.java
index 99b473c9dbf556ffd909e1d583ab704f1f168593..501388948dc540da1a0df8ec4fef69c87498179b 100644
--- a/src/main/java/com/uva/users/Controller/ControllerVinos.java
+++ b/src/main/java/com/uva/users/Controller/ControllerVinos.java
@@ -12,6 +12,8 @@ import com.uva.users.Repository.BodegaRepository;
 import com.uva.users.Repository.VinoConRelacionRepository;
 import com.uva.users.Repository.VinoRepository;
 
+import jakarta.persistence.Column;
+
 import java.util.*;
 
 @RestController
@@ -33,10 +35,52 @@ public class ControllerVinos {
     }
 
     @PutMapping("/{id}")
-    public String putVinos(@RequestBody String body, @PathVariable("id") Long identificador) {
-        return "Realizada operación Put. Con Id: " + identificador + ". Contenido del cuerpo de la petición: " + body;
+    public String putVinos(@RequestBody Vino vino, @PathVariable("id") Integer identificador) {
+        Optional<Vino> vinoExistente = repository.findById(identificador);
+
+        if (vinoExistente.isPresent()) {
+            Vino vinoActualizado = vinoExistente.get();
+            vinoActualizado.setNombreComercial(vino.getNombreComercial());
+            vinoActualizado.setBodegaId(vino.getBodegaId());
+            vinoActualizado.setPrecio(vino.getPrecio());
+            vinoActualizado.setDenominacion(vino.getDenominacion());
+            vinoActualizado.setCategoria(vino.getCategoria());
+
+            repository.save(vinoActualizado); // Guarda el vino actualizado
+            return "Vino con ID " + identificador + " actualizado correctamente.";
+        } else {
+            return "Vino con ID " + identificador + " no encontrado.";
+        }
+    }
+
+    @DeleteMapping("/{id}")
+    public String deleteVino(@PathVariable("id") Integer identificador) {
+        Optional<Vino> vinoExistente = repository.findById(identificador); // Buscar vino por ID
+
+        if (vinoExistente.isPresent()) {
+            repository.delete(vinoExistente.get()); // Eliminar el vino
+            return "Vino con ID " + identificador + " eliminado correctamente.";
+        } else {
+            return "Vino con ID " + identificador + " no encontrado.";
+        }
+    }
+
+    @PostMapping("/newVino")
+    public String newVino(@RequestBody Vino newVino) {
+        try {
+            repository.save(newVino);
+            return "Nuevo registro creado";
+        } catch (Exception e) {
+            throw new VinoException("Error al crear el nuevo registro.");
+        }
     }
 
+
+
+
+
+    // CODIGO NO IMPORTANTE PARA ESTA ENTREGA 
+
     @PostMapping("/vinos")
     public String postVinos(@RequestBody String body) {
         return "Post: " + body;
@@ -83,16 +127,6 @@ public class ControllerVinos {
         return respuesta.toString();
     }
 
-    @PostMapping("/newVino")
-    public String newVino(@RequestBody Vino newVino) {
-        try {
-            repository.save(newVino);
-            return "Nuevo registro creado";
-        } catch (Exception e) {
-            throw new VinoException("Error al crear el nuevo registro.");
-        }
-    }
-
     @GetMapping("/VinoPorNombre/{nombre}")
     public Vino getVinoPorNombre_Comercial(@PathVariable String nombre) {
         Vino vino = repository.findByNombreComercial(nombre)