Как вернуть HttpResponseException со специфической ошибкой (неверное имя пользователя или неверный пароль) во внешний интерфейс? - PullRequest
0 голосов
/ 25 апреля 2018

Как мне вернуть исключение Bad Request с текстом типа «Неверное имя пользователя» во внешний интерфейс в ApiController.Мой код:

public class FrontEndController : ApiController
    {
        public string Test(string value)
        {
            if(!isValid(value))
               //how do i throw exception with its code (400 in this case) and message ("Invalid username")
        }
    }

Ответы [ 3 ]

0 голосов
/ 25 апреля 2018

Вы можете изменить тип возвращаемого вами метода на HttpResponseMessage и использовать встроенную функцию API для возврата сообщения об ошибке, которое вы хотите.

public class FrontEndController : ApiController
    {
        public HttpResponseMessage Test(string value)
        {
            if(!isValid(value))
              {
                 //Generate error response here
                 return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Invalid Username");
              }
        }
    }
0 голосов
/ 25 апреля 2018

Существует метод BadRequest на ApiController:

return BadRequest("Invalid username");

Это создает ErrorMessageResult (400 Bad Request) с указанным сообщением об ошибке.

0 голосов
/ 25 апреля 2018

Вы можете использовать HttpException и этот конструктор

throw new HttpException(400, "Invalid username")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...