$mermaidjs
Clean Architecture Demo
Loading...
Searching...
No Matches
TaskManagement.API.Middleware.ExceptionHandlingMiddleware Class Referencesealed

ExceptionHandlingMiddleware es middleware de ASP.NET Core para manejo centralizado de excepciones. More...

Collaboration diagram for TaskManagement.API.Middleware.ExceptionHandlingMiddleware:

Public Member Functions

 ExceptionHandlingMiddleware (RequestDelegate next, ILogger< ExceptionHandlingMiddleware > logger)
 
async Task InvokeAsync (HttpContext context)
 

Detailed Description

ExceptionHandlingMiddleware es middleware de ASP.NET Core para manejo centralizado de excepciones.

Rol en Clean Architecture:

  • Parte de la capa de presentación, en este caso, API Layer
  • Preocupación transversal: maneja excepciones de todas las capas
  • Pipeline de middleware: intercepta todas las solicitudes y maneja excepciones
  • Devuelve respuestas HTTP apropiadas para diferentes tipos de error

Pipeline de middleware en ASP.NET Core:

  • Los componentes de middleware forman un pipeline
  • Cada middleware puede procesar solicitud y respuesta
  • Los manejadores de excepción generalmente se colocan primero para capturar todas las excepciones
  • Este middleware envuelve otro middleware para capturar excepciones

Responsabilidades de manejo de excepciones:

  • Captura excepciones de capa de aplicación y dominio
  • Distingue entre tipos de excepción:
    • ValidationException: 400 BadRequest
    • NotFoundException: 404 NotFound
    • DomainException: 400 BadRequest
    • Otras excepciones: 500 InternalServerError
  • Devuelve formato de respuesta de error consistente
  • Registra excepciones para depuración

Beneficios:

  • Manejo de errores centralizado, no queda disperso en controladores
  • Formato de respuesta de error consistente en toda la API
  • Previene fuga de detalles de error sensibles a clientes
  • Asegura que todas las excepciones se manejen apropiadamente
  • Simplifica código de controlador pues no hay necesidad de try-catch

Formato de respuesta de error:

  • ProblemDetails: formato estándar de respuesta de error
  • Incluye título de error, detalle y código de estado
  • Sigue especificación RFC 7807 Problem Details
  • Ayuda a clientes de la API a entender qué salió mal

Definition at line 63 of file ExceptionHandlingMiddleware.cs.

Constructor & Destructor Documentation

◆ ExceptionHandlingMiddleware()

TaskManagement.API.Middleware.ExceptionHandlingMiddleware.ExceptionHandlingMiddleware ( RequestDelegate  next,
ILogger< ExceptionHandlingMiddleware logger 
)

Definition at line 75 of file ExceptionHandlingMiddleware.cs.

Member Function Documentation

◆ InvokeAsync()

async Task TaskManagement.API.Middleware.ExceptionHandlingMiddleware.InvokeAsync ( HttpContext  context)

Definition at line 83 of file ExceptionHandlingMiddleware.cs.


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