public static IActionResult GetActionResult(ActionContext actionContext, IMyProblemDetails problemDetails) { // 添加扩展属性erroCode problemDetails.Extensions.Add("errorCode", problemDetails.Type); problemDetails.Extensions.Add("errorMessage", problemDetails.Title); problemDetails.Extensions["traceId"] = Activity.Current?.Id ?? actionContext.HttpContext.TraceIdentifier; var actionResult = new ObjectResult(problemDetails) { StatusCode = problemDetails.Status ?? StatusCodes.Status400BadRequest, ContentTypes = { "application/problem+json", "application/problem+xml", }, }; return(actionResult); }
public MyProblemDetailsActionResult(IMyProblemDetails problemDetails) { this.ProblemDetails = problemDetails ?? throw new ArgumentNullException(nameof(problemDetails)); }
public static IMyProblemDetailsActionResult ProblemDetails(this ControllerBase controllerBase, IMyProblemDetails problemDetails) { return(new MyProblemDetailsActionResult(problemDetails)); }