Я вызываю стороннюю службу из своего приложения, и ответ, который они возвращают, обычно имеет вид - "Fail - Error: T4 - Invalid"
.Итак, поток UI -> my controller -> there web service
.Я хочу перехватить ответы от my controller
(шаг 2 в потоке), чтобы я мог отобразить код ошибки T4
во что-то другое.
У меня это работает ниже, но это грязный способ его реализации.Итак, я хочу узнать лучший способ сделать это.
Сначала вызывается контроллер -
public class ControllerA : BaseController
{
public ControllerA(BusinessLogic businessLogic)
{
_businessLogic = businessLogic;
}
[HttpPost]
[Route("order")]
public IActionResult Order([FromBody] Data data)
{
var response = (_businessLogic.OrderReport(Data, data.type));
//The response looks like this - "Fail - Error: T4 - Invalid"
if (!response.Status)
{
//Logic to parse the error code from response
response.Message = MapErr("T1");
return BadRequest(response);
}
return Ok(response);
}
Базовый контроллер -
private readonly Dictionary<string, string> err = new Dictionary<string, string>() {
{"T1", "1st error"},
{"T2", "2nd error"}
};
public string MapErr(string externalErr)
{
return err[externalErr];
}