protected NotFoundObjectResult NotFound(string errorMessage = null) { var response = new ApiErrorResponse { ErrorCode = ErrorCodes.NotFound, Error = errorMessage ?? DefaultNotFoundErrorMessage, }; return(new NotFoundObjectResult(response)); }
protected BadRequestObjectResult BadRequest(string errorMessage) { var body = new ApiErrorResponse { Error = errorMessage, }; var res = new BadRequestObjectResult(body); return(res); }
/// <summary> /// Returns a <see cref="ApiErrorResponse"/> containing the validation error messages. /// Status code is <see cref="HttpStatusCode.BadRequest"/>. /// </summary> protected IActionResult ValidationFailed(IList <ValidationResult> validationResult) { var errorMessages = validationResult.Select(x => x.ErrorMessage).ToList(); var body = new ApiErrorResponse { ErrorCode = ErrorCodes.InvalidRequest, Error = errorMessages.Count == 1 ? errorMessages[0] : null, Errors = errorMessages.Count > 1 ? errorMessages : null }; Logger.LogInformation("Validation failed: {message}", errorMessages); return(new BadRequestObjectResult(body)); }
/// <summary> /// Indicates that application failed with an specific <see cref="HttpStatusCode"/>. /// The response body will be of type <see cref="ApiErrorResponse"/>. /// </summary> protected IActionResult Failed(HttpStatusCode statusCode, string errorMessage, string errorCode) { Logger.LogWarning(errorMessage); var errorResponse = new ApiErrorResponse { ErrorCode = errorCode, Error = errorMessage, }; var result = new ObjectResult(errorResponse) { StatusCode = (int)statusCode, }; return(result); }
/// <summary> /// Indicates that the request has failed, returning status code 500. /// The response body will be of type <see cref="ApiErrorResponse"/>. /// </summary> protected IActionResult Failed(string message, Exception ex) { Logger.LogError(ex, message); var errorResponse = new ApiErrorResponse { ErrorCode = ErrorCodes.InternalServerError, Error = message, }; var result = new ObjectResult(errorResponse) { StatusCode = (int)HttpStatusCode.InternalServerError, }; return(result); }