c# - ASP .NET Web API 抛出新的 HttpResponseException 总是返回 500
问题描述
我正在尝试这样做
throw new HttpResponseException(HttpStatusCode.Unauthorized); // 401
但这总是返回 500(内部服务器错误)。
示例代码:
using System.Net;
using Microsoft.AspNetCore.Mvc;
using System.Web.Http;
namespace Gral_WebAPI.Controllers
{
[Produces("application/json")]
public class LoginController : ApiController
{
[Microsoft.AspNetCore.Mvc.HttpGet]
[Microsoft.AspNetCore.Mvc.Route("[action]")]
public string GitTest()
{
throw new HttpResponseException(HttpStatusCode.Unauthorized); // 401
}
}
}
任何人都可以帮助我吗?
解决方案
你可以return StatusCode(401);
改用。您应该避免使用异常来控制应用程序的流程。
您是否有任何中间件拦截异常并将状态码覆盖为 500?