From 2ded3a98fba7fe025de8aad2f2bb2b41fd8e4f7d Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期一, 04 八月 2025 16:10:44 +0800 Subject: [PATCH] feat:优化友好结果 --- FlexJobApi.Core/Utils/FriendlyResultUtils/FriendlyResultProvider.cs | 21 +++++++++++++++------ 1 files changed, 15 insertions(+), 6 deletions(-) diff --git a/FlexJobApi.Core/Utils/FriendlyResultUtils/FriendlyResultProvider.cs b/FlexJobApi.Core/Utils/FriendlyResultUtils/FriendlyResultProvider.cs index 1795d0c..a4aeb09 100644 --- a/FlexJobApi.Core/Utils/FriendlyResultUtils/FriendlyResultProvider.cs +++ b/FlexJobApi.Core/Utils/FriendlyResultUtils/FriendlyResultProvider.cs @@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; +using Microsoft.CodeAnalysis; using System; using System.Collections.Generic; using System.Linq; @@ -31,6 +32,7 @@ GetResult( metadata.StatusCode, data: metadata.Data, + errorCode: metadata.ErrorCode.ToString(), errors: metadata.Errors), UnifyContext.GetSerializerSettings(context)); } @@ -47,6 +49,7 @@ GetResult( metadata.StatusCode, data: metadata.Data, + errorCode: metadata.ErrorCode.ToString(), errors: metadata.Errors) , UnifyContext.GetSerializerSettings(context)); } @@ -75,11 +78,13 @@ /// <returns></returns> public IActionResult OnValidateFailed(ActionExecutingContext context, ValidationMetadata metadata) { + UnifyContext.Fill(metadata.ValidationResult); return new JsonResult( GetResult( metadata.StatusCode ?? StatusCodes.Status400BadRequest, data: metadata.Data, - errors: metadata.ValidationResult), + errorCode: "s400", + errors: "鍙傛暟閿欒"), UnifyContext.GetSerializerSettings(context)); } @@ -104,16 +109,18 @@ case StatusCodes.Status401Unauthorized: await context.Response.WriteAsJsonAsync( GetResult( - statusCode, - errors: "401 Unauthorized"), + statusCode, + errorCode: "401", + errors: "401 Unauthorized"), App.GetOptions<JsonOptions>()?.JsonSerializerOptions); break; // 澶勭悊 403 鐘舵�佺爜 case StatusCodes.Status403Forbidden: await context.Response.WriteAsJsonAsync( GetResult( - statusCode, - errors: "403 Forbidden"), + statusCode, + errorCode: "403", + errors: "403 Forbidden"), App.GetOptions<JsonOptions>()?.JsonSerializerOptions); break; default: break; @@ -126,14 +133,16 @@ /// <param name="statusCode"></param> /// <param name="succeeded"></param> /// <param name="data"></param> + /// <param name="errorCode"></param> /// <param name="errors"></param> /// <returns></returns> - private static FriendlyResult<object> GetResult(int statusCode, bool succeeded = default, object data = default, object errors = default) + private static FriendlyResult<object> GetResult(int statusCode, bool succeeded = default, object data = default, string errorCode = null, object errors = default) { return new FriendlyResult<object> { TraceId = App.GetTraceId(), Code = statusCode, + ErrorCode = errorCode, Success = succeeded, Data = data, Errors = errors, -- Gitblit v1.9.1