修复全局异常中间件命名空间冲突:显式指定StatusCodes为Microsoft.AspNetCore.Http.StatusCodes

This commit is contained in:
claw_bot 2026-03-12 03:12:32 +00:00
parent 97efda4c2a
commit 46e8a81346

View File

@ -40,7 +40,7 @@ public class GlobalExceptionMiddleware
context.Response.ContentType = "application/json";
var response = new ApiResponse<object>
{
code = StatusCodes.Status500InternalServerError,
code = Microsoft.AspNetCore.Http.StatusCodes.Status500InternalServerError,
data = null,
message = exception.Message
};
@ -50,21 +50,21 @@ public class GlobalExceptionMiddleware
{
case UnauthorizedAccessException _:
context.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
response.code = StatusCodes.Status401Unauthorized;
response.code = Microsoft.AspNetCore.Http.StatusCodes.Status401Unauthorized;
response.message = "未授权访问";
break;
case ArgumentException _:
case InvalidOperationException _:
context.Response.StatusCode = (int)HttpStatusCode.BadRequest;
response.code = StatusCodes.Status400BadRequest;
response.code = Microsoft.AspNetCore.Http.StatusCodes.Status400BadRequest;
break;
case KeyNotFoundException _:
context.Response.StatusCode = (int)HttpStatusCode.NotFound;
response.code = StatusCodes.Status404NotFound;
response.code = Microsoft.AspNetCore.Http.StatusCodes.Status404NotFound;
break;
default:
context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
response.code = StatusCodes.Status500InternalServerError;
response.code = Microsoft.AspNetCore.Http.StatusCodes.Status500InternalServerError;
// 生产环境可以隐藏具体错误信息,避免泄露敏感信息
// response.message = "服务器内部错误";
break;