Основные 2 / ошибки ответа машинописного текста - PullRequest
0 голосов
/ 26 мая 2018

Я пытаюсь выполнить проверку на стороне сервера, и я хочу, чтобы код возвращал ответ с сообщением об ошибке и кодом ошибки, почему сервер отказал в этом.

public IActionResult AddAdvertisement([FromBody]AdvertisementModel model)
{
    bool validModel = true;
    string ErrorMessage = "";

    AdvertisementModel PostModel = model;

    if (PostModel.category == 0)
    {
        ErrorMessage = "Category can't be 0";
        validModel = false;
        JsonResult s = new JsonResult(ErrorMessage);
        s.StatusCode = 654;
        return s;
    }

Самое дальнее, что я получил, но яне может прочитать текст ответа в виде сообщения об ошибке в машинописном тексте: enter image description here

Может быть, я неправильно понимаю?Любые идеи, чтобы улучшить это?

1 Ответ

0 голосов
/ 22 января 2019

В качестве улучшения создайте свой собственный код состояния StatusCode , попробуйте сделать следующее

if (PostModel.category == 0)
{
    result = new {
      ErrorMessage = "Category can't be 0", 
      ValidModel = false,
    };
    return StatusCode(654,result);
}

Затем этот ответ должен быть отклонен как ошибка машинописным шрифтом.

Несмотря на то, что этот подход применим, он не является общепринятым в валидации и не соответствует стандарту W3 .Лучше вернуть BadRequest с кодом состояния 400, а в тело результата добавить свой внутренний код, как показано ниже

if (PostModel.category == 0)
{
    result = new {
      ErrorMessage = "Category can't be 0", 
      ValidModel = false,
      Code = 654
    };
    return BadRequest(result);
}
...