我在 WebAPI .netCore 环境中,我正在使用 ActionFilters 来处理一些 JWT 授权代码。现在,发生任何错误时我的代码如下所示:
context.Result = new JsonResult(new { Error = "JWT token 已过期。"});
此代码的问题在于它仍然抛出状态代码 200。我希望它在 HTTP 级别失败并抛出状态代码 400。我该怎么做?
最佳答案
BadRequestObjectResult
将返回 400。
public class MyActionFilter : IActionFilter
{
public void OnActionExecuting(ActionExecutingContext context)
{
context.Result = new BadRequestObjectResult(new {Error = "JWT Token is expired."});
}
}
关于c# - 从 Web API 2 中的操作过滤器返回错误的 Http 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50893001/