コード例 #1
0
        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);
        }
コード例 #2
0
 public MyProblemDetailsActionResult(IMyProblemDetails problemDetails)
 {
     this.ProblemDetails = problemDetails ?? throw new ArgumentNullException(nameof(problemDetails));
 }
コード例 #3
0
 public static IMyProblemDetailsActionResult ProblemDetails(this ControllerBase controllerBase, IMyProblemDetails problemDetails)
 {
     return(new MyProblemDetailsActionResult(problemDetails));
 }