Estou trabalhando em um projeto de API Web ASP.NET Core 8 bastante padrão. Adicionei um módulo para capturar exceções globalmente, e funciona bem. Mas agora estou tentando padronizar mais as respostas nos controladores e adicionei uma pequena classe para me ajudar com isso:
public class ActionResponse<T>
{
public bool WasSuccess { get; set; }
public string? Message { get; set; }
public T? Result { get; set; }
}
Até agora, nada de anormal. A questão é que agora eu gostaria de retornar aquela "mensagem aprimorada" que estou retornando na exceção global daquela Message
propriedade... talvez do mesmo controlador ou de algum outro lugar, mas ainda naquele formato ( WasSuccess = false, Message = "new error..."
)... mas não sei em que ponto ou como poderia fazer isso.
Baseado no cpmment de Panagiotis Kanavos
você pode personalizar ProblemDetails da seguinte forma: