修复全局异常中间件命名空间冲突:显式指定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"; context.Response.ContentType = "application/json";
var response = new ApiResponse<object> var response = new ApiResponse<object>
{ {
code = StatusCodes.Status500InternalServerError, code = Microsoft.AspNetCore.Http.StatusCodes.Status500InternalServerError,
data = null, data = null,
message = exception.Message message = exception.Message
}; };
@ -50,21 +50,21 @@ public class GlobalExceptionMiddleware
{ {
case UnauthorizedAccessException _: case UnauthorizedAccessException _:
context.Response.StatusCode = (int)HttpStatusCode.Unauthorized; context.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
response.code = StatusCodes.Status401Unauthorized; response.code = Microsoft.AspNetCore.Http.StatusCodes.Status401Unauthorized;
response.message = "未授权访问"; response.message = "未授权访问";
break; break;
case ArgumentException _: case ArgumentException _:
case InvalidOperationException _: case InvalidOperationException _:
context.Response.StatusCode = (int)HttpStatusCode.BadRequest; context.Response.StatusCode = (int)HttpStatusCode.BadRequest;
response.code = StatusCodes.Status400BadRequest; response.code = Microsoft.AspNetCore.Http.StatusCodes.Status400BadRequest;
break; break;
case KeyNotFoundException _: case KeyNotFoundException _:
context.Response.StatusCode = (int)HttpStatusCode.NotFound; context.Response.StatusCode = (int)HttpStatusCode.NotFound;
response.code = StatusCodes.Status404NotFound; response.code = Microsoft.AspNetCore.Http.StatusCodes.Status404NotFound;
break; break;
default: default:
context.Response.StatusCode = (int)HttpStatusCode.InternalServerError; context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
response.code = StatusCodes.Status500InternalServerError; response.code = Microsoft.AspNetCore.Http.StatusCodes.Status500InternalServerError;
// 生产环境可以隐藏具体错误信息,避免泄露敏感信息 // 生产环境可以隐藏具体错误信息,避免泄露敏感信息
// response.message = "服务器内部错误"; // response.message = "服务器内部错误";
break; break;