【发布时间】:2020-08-27 03:08:05
【问题描述】:
我正在构建一个 WEB API,它有很多这样的 GET 方法:
[HttpGet]
[Authorize]
[Route("monedas")]
public IHttpActionResult GetMonedas(string empresaId, string filtro = "")
{
IEnumeradorService sectoresService = new MonedasService(empresaId);
if (!initialValidation.EmpresaPerteneceACliente(empresaId, User))
{
return Content(HttpStatusCode.MethodNotAllowed, "La empresa no existe o el cliente no tiene acceso a ella");
}
try
{
return Ok(sectoresService.Enumerar(filtro));
}
catch (QueryFormatException ex)
{
return BadRequest(ex.Message);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
return InternalServerError();
}
}
[HttpGet]
[Authorize]
[Route("paises")]
public IHttpActionResult GetPaises(string empresaId, string filtro = "")
{
IEnumeradorService sectoresService = new PaisesService(empresaId);
if (!initialValidation.EmpresaPerteneceACliente(empresaId, User))
{
return Content(HttpStatusCode.MethodNotAllowed, "La empresa no existe o el cliente no tiene acceso a ella");
}
try
{
return Ok(sectoresService.Enumerar(filtro));
}
catch (QueryFormatException ex)
{
return BadRequest(ex.Message);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
return InternalServerError();
}
}
如何用可重复利用的代码封装这种行为?
【问题讨论】:
标签: c# rest asp.net-web-api