Models
Los modelos proporcionados por la biblioteca CodeDesignPlus.Net.Exceptions
se utilizan para estructurar y devolver información sobre errores en la aplicación. Estos modelos son útiles para estandarizar la forma en que se manejan y devuelven errores en la aplicación, proporcionando información detallada sobre los errores ocurridos.
ErrorResponse
La clase ErrorResponse
estandariza las respuestas de error en la aplicación, proporcionando información estructurada sobre los errores ocurridos. Es útil en middlewares o interceptores para gestionar y devolver errores de forma consistente.
namespace CodeDesignPlus.Net.Exceptions.Models;
/// <summary>/// Represents an error response containing a trace identifier, layer, and a list of error details./// </summary>/// <param name="TraceId">The trace identifier for the error response.</param>/// <param name="Layer">The layer where the error occurred.</param>public record ErrorResponse(string TraceId, Layer Layer){ /// <summary> /// Gets the list of error details associated with the error response. /// </summary> public List<ErrorDetail> Errors { get; } = new();
/// <summary> /// Adds an error detail to the error response. /// </summary> /// <param name="code">The error code.</param> /// <param name="message">The error message.</param> /// <param name="field">The field associated with the error.</param> public void AddError(string code, string message, string field) { this.Errors.Add(new ErrorDetail(code, field, message)); }}
Propiedades
- TraceId (string): Identificador de rastreo único para la respuesta de error, útil para depuración y seguimiento.
- Layer (Layer): Representa la capa del sistema donde ocurrió el error (por ejemplo, Aplicación, Dominio, Infraestructura).
- Errors (List<ErrorDetail>): Lista de detalles de error asociados con la respuesta. Inicializada como una lista vacía.
Métodos
-
AddError
: Agrega un detalle de error a la lista de errores.Ejemplo:
var errorResponse = new ErrorResponse("12345", Layer.Application);errorResponse.AddError("400", "Invalid input", "Name");
ErrorDetail
La clase ErrorDetail
encapsula información detallada sobre un error específico, proporcionando claridad sobre la causa del fallo.
namespace CodeDesignPlus.Net.Exceptions.Models;
/// <summary>/// Represents the error details of a request./// </summary>/// <param name="Code">The error code.</param>/// <param name="Field">The field that contains the error.</param>/// <param name="Message">The error message.</param>public record ErrorDetail(string Code, string Field, string Message);
Propiedades
Code
(string): Código único que identifica el error (por ejemplo, códigos HTTP o personalizados).Field
(string): Campo o propiedad del objeto afectado por el error (opcional).Message
(string): Mensaje descriptivo del error.