| | |
| | | 状态码 |
| | | </summary> |
| | | </member> |
| | | <member name="P:FlexJobApi.Core.FriendlyResult`1.ErrorCode"> |
| | | <summary> |
| | | 错误码 |
| | | </summary> |
| | | </member> |
| | | <member name="P:FlexJobApi.Core.FriendlyResult`1.Data"> |
| | | <summary> |
| | | 数据 |
| | |
| | | <param name="unifyResultSettings"></param> |
| | | <returns></returns> |
| | | </member> |
| | | <member name="M:FlexJobApi.Core.FriendlyResultProvider.GetResult(System.Int32,System.Boolean,System.Object,System.Object)"> |
| | | <member name="M:FlexJobApi.Core.FriendlyResultProvider.GetResult(System.Int32,System.Boolean,System.Object,System.String,System.Object)"> |
| | | <summary> |
| | | 返回 RESTful 风格结果集 |
| | | </summary> |
| | | <param name="statusCode"></param> |
| | | <param name="succeeded"></param> |
| | | <param name="data"></param> |
| | | <param name="errorCode"></param> |
| | | <param name="errors"></param> |
| | | <returns></returns> |
| | | </member> |
| | |
| | | public int? Code { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 错误码 |
| | | /// </summary> |
| | | public string ErrorCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 数据 |
| | | /// </summary> |
| | | public T Data { get; set; } |
| | |
| | | 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; |
| | |
| | | GetResult( |
| | | metadata.StatusCode, |
| | | data: metadata.Data, |
| | | errorCode: metadata.ErrorCode.ToString(), |
| | | errors: metadata.Errors), |
| | | UnifyContext.GetSerializerSettings(context)); |
| | | } |
| | |
| | | GetResult( |
| | | metadata.StatusCode, |
| | | data: metadata.Data, |
| | | errorCode: metadata.ErrorCode.ToString(), |
| | | errors: metadata.Errors) |
| | | , UnifyContext.GetSerializerSettings(context)); |
| | | } |
| | |
| | | /// <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)); |
| | | } |
| | | |
| | |
| | | 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; |
| | |
| | | /// <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, |
| | |
| | | }, |
| | | "AllowedHosts": "*", |
| | | "FriendlyExceptionSettings": { |
| | | "HideErrorCode": true, |
| | | "DefaultErrorCode": "500", |
| | | "DefaultErrorMessage": "服务器异常,请联系管理员" |
| | | }, |