protected bool ResponseHasErrors(ResponseErrorResult response) { if (response == null || !response.Errors.Messages.Any()) { return(false); } foreach (var mensagem in response.Errors.Messages) { AddErrorInProcess(mensagem); } return(true); }
protected bool HasErrorsInResponse(ResponseErrorResult response) { if (response != null && response.Errors.Messages.Any()) { foreach (var message in response.Errors.Messages) { ModelState.AddModelError(string.Empty, message); } return(true); } return(false); }
private async Task WriteExceptionAsync(HttpContext context, Exception exception) { //返回友好的提示 var response = context.Response; //状态码 if (exception is UnauthorizedAccessException) { response.StatusCode = (int)HttpStatusCode.Unauthorized; } else if (exception != null) { response.StatusCode = (int)HttpStatusCode.BadRequest; } response.ContentType = context.Request.Headers["Accept"]; if (response.ContentType.ToLower() == "application/xml") { var result = new ResponseErrorResult <object> { ErrorCode = -9999, ErrorMessage = exception.GetBaseException().ToString(), }; _logger.LogError($@"错误原因为:{exception.GetBaseException().Message},错误详细为:{exception.GetBaseException().ToString()}"); await response.WriteAsync(Object2XmlString(result)).ConfigureAwait(false); } else { response.ContentType = "application/json;charset=utf-8"; var result = new ResponseErrorResult <object> { ErrorCode = -9999, ErrorMessage = exception.GetBaseException().Message, }; _logger.LogError($@"错误原因为:{exception.GetBaseException().Message},错误详细为:{exception.GetBaseException().ToString()}"); await response.WriteAsync(JsonConvert.SerializeObject(result)).ConfigureAwait(false); } }
public ActionResult <ResponseBase> GetResult500() { var result = new ResponseErrorResult { StatusCodes = StatusCodes.Status500InternalServerError.ToString(), Results = new object[] { new ProblemDetails() { Status = StatusCodes.Status400BadRequest, Type = "https://tools.ietf.org/html/rfc7807", Title = "BadRequest", Detail = "One or more client problem.", Instance = HttpContext.Request.Path, Extensions = { ["tracking-id"] = "9527" } } } }; return(result); }
protected ActionResult CustomResponse(ResponseErrorResult response) { ResponseHasErrors(response); return(CustomResponse()); }