Class TaskController

java.lang.Object
com.dh.TaskManager.controller.TaskController

@RestController @RequestMapping("/tasks") public class TaskController extends Object
Controlador para gestionar las operaciones relacionadas con las tareas.
  • Constructor Details

    • TaskController

      public TaskController(TaskService taskService)
      Constructor de la clase TaskController que realiza la inyección de dependencias del servicio de tareas.
      Parameters:
      taskService - La implementación concreta del servicio de tareas que se utilizará en el controlador. Aunque se utiliza la interfaz ITaskService como atributo, se pasa la implementación concreta del servicio al constructor, siguiendo el principio de inversión de dependencias.
  • Method Details

    • createTask

      @PostMapping public org.springframework.http.ResponseEntity<TaskResponseDTO> createTask(@Valid @RequestBody @Valid TaskRequestDTO taskDTO)
      Crea una nueva tarea utilizando los datos proporcionados en el objeto TaskRequestDTO.
      Parameters:
      taskDTO - El objeto TaskRequestDTO que contiene los datos de la tarea a crear.
      Returns:
      ResponseEntity ResponseEntity que contiene el objeto TaskResponseDTO creado, con un estado HTTP 201 (CREATED) si la tarea se crea correctamente.
    • getTaskById

      @GetMapping("/{id}") public org.springframework.http.ResponseEntity<TaskResponseDTO> getTaskById(@PathVariable Long id)
      Obtiene una tarea específica por su identificador.
      Parameters:
      id - El identificador único de la tarea.
      Returns:
      ResponseEntity Un ResponseEntity que contiene el objeto TaskResponseDTO correspondiente a la tarea solicitada, con un estado HTTP 200 (OK) si se encuentra la tarea, o estado HTTP 404 (NOT FOUND) si no se encuentra.
      Throws:
      NotFoundException - Si no se encuentra ninguna tarea con el identificador proporcionado.
    • getAllTasks

      @GetMapping public org.springframework.http.ResponseEntity<List<TaskResponseDTO>> getAllTasks()
      Obtiene todas las tareas disponibles.
      Returns:
      ResponseEntityinvalid input: '<'List> Un ResponseEntity que contiene una lista de TaskResponseDTO, con un estado HTTP 200 (OK) si se obtienen las tareas correctamente.
    • updateTask

      @PutMapping public org.springframework.http.ResponseEntity<TaskResponseDTO> updateTask(@Valid @RequestBody @Valid TaskRequestToUpdateDTO taskRequestDTO)
      Actualiza una tarea existente utilizando los datos proporcionados en el objeto TaskRequestToUpdateDTO.
      Parameters:
      taskRequestDTO - El objeto TaskRequestToUpdateDTO que contiene los datos actualizados de la tarea.
      Returns:
      ResponseEntity Un ResponseEntity que contiene el objeto TaskResponseDTO actualizado, con un estado HTTP 200 (OK) si la tarea se actualiza correctamente.
      Throws:
      NotFoundException - Si no se encuentra ninguna tarea con el identificador proporcionado.
    • deleteTaskById

      @DeleteMapping("/{id}") public org.springframework.http.ResponseEntity<Void> deleteTaskById(@PathVariable Long id)
      Elimina una tarea específica por su identificador.
      Parameters:
      id - El identificador único de la tarea a eliminar.
      Returns:
      ResponseEntity Un ResponseEntity sin contenido y con un estado HTTP 204 (NO CONTENT) si la tarea se elimina correctamente.
      Throws:
      NotFoundException - Si no se encuentra ninguna tarea con el identificador proporcionado.