Я видел подобные примеры
public IHttpActionResult GetProduct(int id)
{
Product item = repository.Get(id);
if (item == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
return Ok(item);
}
Но я также думаю, что это вариант
public IHttpActionResult GetProduct(int id)
{
Product item = repository.Get(id);
if (item == null)
{
return NotFound();
}
return Ok(item);
}
Есть ли преимущество в создании исключения или простом возврате NotFound (экземпляр IHttpActionResult)?
Я знаю в конвейере ответов/запросов есть этапы, на которых можно обработать любой из этих результатов, как в первом примере
public class NotFoundExceptionFilterAttribute : ExceptionFilterAttribute
{
public override void OnException(HttpActionExecutedContext context)
{
if (context.Exception is NotFoundException)
{
// Do some custom stuff here ...
context.Response = new HttpResponseMessage(HttpStatusCode.NotFound);
}
}
}
...
GlobalConfiguration.Configuration.Filters.Add(
new ProductStore.NotFoundExceptionFilterAttribute());
Подробнее здесь: https://stackoverflow.com/questions/300 ... -web-api-2
Должен ли я вернуть код состояния или создать исключение в .Net Web Api 2? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение