示例#1
0
        public async Task <ActionResult <string> > Get(string value)
        {
            var error = new MyProblemDetails(HttpContext)
            {
                Title     = "Test Error",
                Detail    = "Testing bad request error",
                Status    = StatusCodes.Status400BadRequest,
                Type      = "https://www.my-error-portal.com/myproject/400",
                ErrorCode = "400"
            };

            return(BadRequest(error));
        }
示例#2
0
        public IActionResult Get(int id)
        {
            if (id == 0)
            {
                var problemDetails = new MyProblemDetails()
                {
                    Status = StatusCodes.Status400BadRequest,
                };
                return(new MyProblemDetailsActionResult(problemDetails));
            }
            else if (id == 1)
            {
                throw new Exception($"error:{id}");
            }

            return(this.Ok("value"));
        }
        public IActionResult Error()
        {
            // Retrieve error information in case of internal errors
            var feature = HttpContext.Features.Get <IExceptionHandlerPathFeature>();

            var error = new MyProblemDetails(HttpContext)
            {
                Title     = "Undefined error",
                Detail    = "Some detailed error message",
                Status    = StatusCodes.Status500InternalServerError,
                Type      = "https://www.my-error-portal.com/myproject/500",
                Instance  = feature.Path,
                ErrorCode = "500"
            };

            logger.LogError(feature.Error, $"An unhandled exception happend: {feature.Error.Message}");

            return(new ObjectResult(error)
            {
                ContentTypes = { "application/problem+json" },
                StatusCode = StatusCodes.Status500InternalServerError
            });
        }