Asp. net сообщение об ошибке обработки ошибки ядра - PullRequest
0 голосов
/ 26 апреля 2020

Я начинаю работать над Asp. net обработкой ошибок ядра и заметил, что получаю ошибку в формате

{
    "errors": {},
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "One or more validation errors occurred.",
    "status": 400,
    "traceId": "|caeb2316-47fb93bd8a17bc0a."
}

Я пытаюсь получить более подробную ошибку сообщение, но я не могу избавиться от этого сообщения.

Только что следовал инструкции на https://docs.microsoft.com/en-us/aspnet/core/fundamentals/error-handling?view=aspnetcore-3.1, но ошибка всегда есть.

Как мне избавиться от этого формата сообщения об ошибке?

1 Ответ

1 голос
/ 26 апреля 2020

Используя приведенный ниже код, вы можете создать собственный ответ об ошибке или подробную информацию о проблеме:

services.AddControllers()
 .ConfigureApiBehaviorOptions(o =>
 {
     o.InvalidModelStateResponseFactory = context =>
     {
         var problemsDetailsFactory = context.HttpContext.RequestServices
             .GetRequiredService<ProblemDetailsFactory>();
         var problemDetails = problemsDetailsFactory.CreateValidationProblemDetails(
             context.HttpContext, 
             context.ModelState);
         problemDetails.Detail = "Custom Details";
         problemDetails.Instance = context.HttpContext.Request.Path;
         problemDetails.Type = "https://tools.etf............";
         //problemDetails.Status = StatusCodes.Status422UnprocessableEntity;
         problemDetails.Status = StatusCodes.Status400BadRequest;
         problemDetails.Title = "One or more errors on input occured";
         return new BadRequestObjectResult(problemDetails)
         {
             //ContentTypes= {"application/custom+json"}
         };
     };
 });
...