我想再谈一谈关于IHttpActionResult和HttpResponseMessage的区别。我知道IHttpActionResult在进行单元测试时更灵活,也更好用。但目前我正在做一个项目,这个项目是从WebAPI迁移到WebAPi 2的,我想尝试用IHttpActionResult取代所有HttpResponseMessage的用法。我在代码中找到了下面几行:
catch (Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message);
}我想澄清一下什么是与IHttpActionResult等效的方法。下面代码中的结果将等同于上面代码中的结果:
catch (Exception ex)
{
return Content(HttpStatusCode.InternalServerError, ex.Message);
}或者我应该使用其他东西?
发布于 2017-09-11 23:36:28
理想情况下,您应该将其包装在ResponseMessage中-帮助Content Negotiation
catch (Exception ex)
{
return ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
}发布于 2017-09-12 00:08:38
如果您使用IHttpActionResult
catch (Exception ex)
{
return (IHttpActionResult)InternalServerError(exception);
}https://stackoverflow.com/questions/46159197
复制相似问题