我在ASP 5中编写一个api Controller 。如果传递给服务的参数不正确,我想返回一个错误的请求代码异常。在当前版本的webapi中,我将执行以下操作:

throw new HttpResponseException(HttpStatusCode.BadRequest);

但是HttpResponseExceptionSystem.Web的一部分,它已从ASP 5中删除,因此我无法再实例化它。

在vNext中执行此操作的正确方法是什么?

最佳答案

要回答您的问题,您可以使用WebApiCompatibilityShimHttpResponseException(以及许多其他功能)移植到MVC 6中。(感谢DWright提供了that article的链接)。

看来MVC-6的方法是从您的方法中返回IActionResponse,然后调用HttpBadRequest(),它是Microsoft.AspNet.Mvc.Controller基类上的一种方法,该方法返回BadRequestResult,我认为这是获得400状态的最佳方法响应。
Controller类也具有用于其他响应代码的方法-包括导致返回404的HttpNotFound()方法。

另请参阅:https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api

关于c# - 如何在ASP 5(vnext)中引发HttpResponseException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29663557/

10-12 15:26