$mermaidjs
Clean Architecture Demo
Loading...
Searching...
No Matches
TaskManagement.API.Controllers.TasksController Class Referencesealed

TasksController es el endpoint de la API REST para operaciones de gestión de tareas. More...

Inheritance diagram for TaskManagement.API.Controllers.TasksController:
Collaboration diagram for TaskManagement.API.Controllers.TasksController:

Public Member Functions

 TasksController (IMediator mediator)
 
async Task< ActionResult< TaskDto > > GetById (Guid id, CancellationToken cancellationToken)
 
async Task< ActionResult< Guid > > Create ([FromBody] CreateTaskRequest request, CancellationToken cancellationToken)
 
async Task< ActionResult > Complete (Guid id, CancellationToken cancellationToken)
 

Detailed Description

TasksController es el endpoint de la API REST para operaciones de gestión de tareas.

Rol en Clean Architecture:

  • Parte de la capa de presentación, en este caso, una API REST
  • Punto de entrada para solicitudes HTTP
  • Traduce solicitudes HTTP a comandos y consultas de la capa de aplicación
  • Maneja cuestiones específicas de HTTP: códigos de estado, negociación de contenido
  • Sin lógica de negocio: delega a la capa de aplicación

Responsabilidades del controlador:

  • Aceptar solicitudes HTTP y convertirlas a comandos y consultas
  • Manejar autorización y autenticación
  • Invocar la capa de aplicación a través de MediatR
  • Transformar resultados en respuestas HTTP apropiadas
  • Manejar excepciones y devolver respuestas de error

Separación de responsabilidades:

  • NO contiene lógica de negocio, se delega a la capa de aplicación
  • NO interactúa directamente con la base de datos, se delega a la capa de infraestructura
  • NO valida reglas de negocio, se delegadan a la capa del dominio o de aplicación
  • Solo traduce semántica HTTP a casos de uso

Patrones de diseño y convenciones:

  • Patrón CQRS a través de MediatR
  • Patrón Result para manejo de errores consistente
  • Convenciones REST: POST para creación, DELETE para eliminación, etc.
  • Códigos de estado HTTP: 200 OK, 201 Created, 204 NoContent, 400 BadRequest, 404 NotFound, etc.

Definition at line 58 of file TasksController.cs.

Constructor & Destructor Documentation

◆ TasksController()

TaskManagement.API.Controllers.TasksController.TasksController ( IMediator  mediator)

Definition at line 61 of file TasksController.cs.

Member Function Documentation

◆ Complete()

async Task< ActionResult > TaskManagement.API.Controllers.TasksController.Complete ( Guid  id,
CancellationToken  cancellationToken 
)

Definition at line 121 of file TasksController.cs.

◆ Create()

async Task< ActionResult< Guid > > TaskManagement.API.Controllers.TasksController.Create ( [FromBody] CreateTaskRequest  request,
CancellationToken  cancellationToken 
)

Definition at line 91 of file TasksController.cs.

Here is the call graph for this function:

◆ GetById()

async Task< ActionResult< TaskDto > > TaskManagement.API.Controllers.TasksController.GetById ( Guid  id,
CancellationToken  cancellationToken 
)

Definition at line 69 of file TasksController.cs.

Here is the caller graph for this function:

The documentation for this class was generated from the following file: