Danorjuela.Utils.ResponseProcessor
0.0.2
dotnet add package Danorjuela.Utils.ResponseProcessor --version 0.0.2
NuGet\Install-Package Danorjuela.Utils.ResponseProcessor -Version 0.0.2
<PackageReference Include="Danorjuela.Utils.ResponseProcessor" Version="0.0.2" />
<PackageVersion Include="Danorjuela.Utils.ResponseProcessor" Version="0.0.2" />
<PackageReference Include="Danorjuela.Utils.ResponseProcessor" />
paket add Danorjuela.Utils.ResponseProcessor --version 0.0.2
#r "nuget: Danorjuela.Utils.ResponseProcessor, 0.0.2"
#:package Danorjuela.Utils.ResponseProcessor@0.0.2
#addin nuget:?package=Danorjuela.Utils.ResponseProcessor&version=0.0.2
#tool nuget:?package=Danorjuela.Utils.ResponseProcessor&version=0.0.2
Utils.ResponseProcessor
Servicio Para Manejo de Respuestas y Exepciones de uso generico para Apis, Retorna los estatus correspondientes a las excepciones incluidas en el paquete, pudiendo enmascarando un objeto de respuesta en la siguiente estructura de datos
{
"data": {}, // datos a retornar
"message": "", // Mensaje de la Excepcion
"guid": "XXXXXXXXXXXXXXXXXXXXXXX" // identificador de la operacion util en caso de usar ms-insigths
}
Inicio Rapido
Instale el paquete desde la consola o usando el adminitrador nuget integrado en su IDE
dotnet add package Danorjuela.Utils.ResponseProcessor
Agregar Servicio
En el archivo Program.cs agregue la linea
builder.Services.AddResponseProcessorService();
Ejemplo
Inyecte el Servicio en el controlador de su preferencia
private readonly IResponseService _responseService;
public ExampleController(IResponseService responseService)
{
_responseService = responseService;
}
[HttpGet]
public async Task<IActionResult> allAsync()
{
try
{
// Respuesta sin enmascaramiento
return Ok(await _servicioExample.get() );
// respuesta enmascarada por defecto status 200
return _responseService.ProcessResponse<ExampleDTO>(await _servicioExample.get());
// respuesta enmascarada con un status especifico
return _responseService.ProcessResponse<ExampleDTO>(await _servicioExample.get(),201);
}
catch (ExceptionCustom ex)
{
// Manejo de Excepciones con status especifico
return _responseService.ProcessException(ex, 404);
}
catch (Exception ex)
{
// Manejo de Excepciones con status predeterminados
return _responseService.ProcessException(ex);
}
}
Excepciones
Puede lanzar cualquier excepcion desde cualquier lugar del codigo, (se retornara 500 para excepciones no incluidas en la siguiente tabla )
// lanza excepcion sin data
throw new NotFoundException("No Found Data");
// Lanza excepcion con datos
throw new ConflicException<ExampleDTO>("No Valid srm type" , new ExampleDTO());
Acontinuacion los estados retornados por cada excepcion
| Clase | Codigo Retonado |
|---|---|
| NoDataException | 204 |
| ForbiddenException | 403 |
| InvalidOperationException | 400 |
| NotAutorizationException | 401 |
| NotFoundException | 404 |
| ConflicException | 409 |
| BusinessException | 418 |
| Otros | 500 |
Licencia
Distribuido con licencia MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Extensions.DependencyInjection (>= 8.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.