ASP.NET Core 2.0 Перехват ответа - PullRequest
       0

ASP.NET Core 2.0 Перехват ответа

0 голосов
/ 25 сентября 2018

Я вызываю стороннюю службу из своего приложения, и ответ, который они возвращают, обычно имеет вид - "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];
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...