1
respuesta

Classes Controller

Buenas noches de antemano muchas gracias por el contenido del curso, me podrían guíar sobre como implementar los metodos para las clases Controller?.

1 respuesta

Hola Oscar,

¡Gracias por tu pregunta! Para implementar los métodos en las clases Controller, primero debes entender que los Controllers son responsables de recibir las solicitudes HTTP y delegar la ejecución de estas solicitudes a los servicios correspondientes.

Por ejemplo, si tienes una clase Controller para manejar usuarios, podrías tener métodos para crear un nuevo usuario, obtener información de un usuario, actualizar un usuario y eliminar un usuario.

Aquí tienes un ejemplo de cómo podría verse una clase Controller:

@RestController
@RequestMapping("/usuarios")
public class UsuarioController {

    private final UsuarioService usuarioService;

    @Autowired
    public UsuarioController(UsuarioService usuarioService) {
        this.usuarioService = usuarioService;
    }

    @PostMapping
    public ResponseEntity<Usuario> crearUsuario(@RequestBody Usuario usuario) {
        Usuario nuevoUsuario = usuarioService.crearUsuario(usuario);
        return new ResponseEntity<>(nuevoUsuario, HttpStatus.CREATED);
    }

    @GetMapping("/{id}")
    public ResponseEntity<Usuario> obtenerUsuario(@PathVariable Long id) {
        Usuario usuario = usuarioService.obtenerUsuario(id);
        return new ResponseEntity<>(usuario, HttpStatus.OK);
    }

    @PutMapping("/{id}")
    public ResponseEntity<Usuario> actualizarUsuario(@PathVariable Long id, @RequestBody Usuario usuario) {
        Usuario usuarioActualizado = usuarioService.actualizarUsuario(id, usuario);
        return new ResponseEntity<>(usuarioActualizado, HttpStatus.OK);
    }

    @DeleteMapping("/{id}")
    public ResponseEntity<?> eliminarUsuario(@PathVariable Long id) {
        usuarioService.eliminarUsuario(id);
        return new ResponseEntity<>(HttpStatus.NO_CONTENT);
    }
}

En este ejemplo, cada método en la clase Controller corresponde a una operación CRUD (Crear, Leer, Actualizar, Borrar) que puedes realizar en un usuario. Cada método está mapeado a un tipo específico de solicitud HTTP (POST, GET, PUT, DELETE) y una ruta específica ("/usuarios" o "/usuarios/{id}").

Espero que este ejemplo te ayude a entender cómo implementar los métodos en tus propias clases Controller. Recuerda que cada método debe ser responsable de una única tarea y delegar la ejecución de esa tarea a un servicio correspondiente.

Mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte.

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios