Как метод WebAPI должен возвращать ответ об ошибке? - PullRequest
0 голосов
/ 16 марта 2020

Я хочу увидеть сообщение об ошибке в ответе Web API. Как должно отображаться сообщение об исключении в ответе.

Ошибка CS0155 Тип перехваченного или выданного должен быть получен из System.Exception

public IHttpActionResult GetAllData()
{
    using (sandminingEntities entities = new sandminingEntities())
    {
        try
        {
            return Ok( entities.GPSTrackers.OrderByDescending(x=>x.DeviceTimeStamp).ToList());
        }
        catch (Exception Ex)
        {
            throw Ex.Message;
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 16 марта 2020

вам не нужно EX.MESSAGE, попробуйте:

   catch (Exception ex)
                {
                    throw ex ;
                }
0 голосов
/ 16 марта 2020

Самый простой способ заключается в том, что вы вызываете `System.Web.Http.HttpResponseException 'из вашего метода действия с соответствующим кодом состояния HTTP.

try
{
    ...
}
catch (Exception exception)
{
    var message = new HttpResponseMessage(HttpStatusCode.BadRequest)
    {
        Content = new StringContent(exception.Message),
        ReasonPhrase = "Bad Request"
    };

    throw new HttpResponseException(message);
}

return result;
...