Обработка пользовательских сообщений об ошибках в веб-API

1

Я создаю REST API с использованием.net WEB API.

Вот пример кода

public class ValuesController : ApiController
    {

        // GET api/values
        public Values Get(int ID, int userID)
        {
            return new Values(){};
        }
}

Теперь то, что я хочу сделать, это вернуть другой класс, если идентификатор пользователя не включен в список userID. Я думал об исключении, но после того, как я это рассмотрел, я не думаю, что это была бы хорошая идея. Причина этого заключается в том, что процесс обрабатывался с статусом ОК.

В основном я хотел бы вернуть собственный объект ErrorMessage вместо объекта Values. Можно ли это сделать?

Теги:
asp.net-web-api
controller

1 ответ

1
Лучший ответ

IMO бросание исключения действует, когда поток вашего кода встречает ненормальную ситуацию.

Если вы все еще не хотите бросать, вы можете создать класс-оболочку, который описывает ваш результат:

public class ValueResponse
{
   public HttpStatusCode HttpStatus { get; set; }
   public string ErrorMessage { get; set; }
   public Values Values { get; set; }
}

и вернуть этот объект

public class ValuesController : ApiController
{

    // GET api/values
    public ValueResponse Get(int ID, int userID)
    {
        // Send a valid response or an invalid with the proper status code
    }
}
  • 1
    Хорошая мысль. Я наблюдал за этим

Ещё вопросы

Сообщество Overcoder
Наверх
Меню