Как обеспечить ответ на ошибку формата 7807 в проекте .NET?C#

Место общения программистов C#
Ответить
Anonymous
 Как обеспечить ответ на ошибку формата 7807 в проекте .NET?

Сообщение Anonymous »

Я работаю над проектом .NET и наблюдаю странное поведение платформы при обработке возврата BadRequest с дополнительной информацией в классе контроллера.
Иногда это происходит может вернуть JSON в формате, соответствующем RFC 7807 (что является ожидаемым сценарием). Но он также может возвращать простой текст или даже другой формат, который кажется просто десериализованным исключением.
У меня есть несколько примеров каждого поведения:

Код: Выделить всё

var response = await _mediator.Send(request);
if (!response.Succeeded)
{
// not return in the RFC 7807 format, but the "Error" content is converted to a JSON
return BadRequest(response.Error);

// returns the RFC 7807 format
return BadRequest();

// returns a plain text with the message "Hello"
return BadRequest("Hello");

// returns in the RFC 7807 format
return BadRequest(new ProblemDetails
{
Status = StatusCodes.Status400BadRequest,
Title = "Bad Request",
Detail = response.Error.Message,
Type = "https://tools.ietf.org/html/rfc7231#section-6.5.1",
});
}
return response.ToHttpResult();
Есть ли способ заставить вернуть ошибку в соответствии с RFC 7807 без явного использования сведений о проблеме?

Подробнее здесь: https://stackoverflow.com/questions/793 ... et-project
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»