你如何在ASP 5(vnext)中抛出HttpResponseException
我正在ASP 5中编写一个api控制器。如果传递给服务的参数不正确,我想返回一个错误的请求代码exception。 在当前版本的webapi中,我会这样做:
throw new HttpResponseException(HttpStatusCode.BadRequest);
但是HttpResponseException
是System.Web
一部分,它已从ASP 5中删除,因此我无法再实例化它。
在vNext中执行此操作的正确方法是什么?
要回答您的问题,您可以使用WebApiCompatibilityShim将HttpResponseException
(和许多其他function)移植到MVC 6中。(感谢DWright提供该文章的链接。)
似乎MVC-6的方法是从你的方法返回一个IActionResponse,然后调用HttpBadRequest()
这是一个返回BadRequestResult
的基础Microsoft.AspNet.Mvc.Controller
类的方法,我相信这是获得400状态的最佳方式。
Controller
类还有其他响应代码的方法 – 包括导致返回404的HttpNotFound()
方法。
另见: https : //docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api