.NET 8 с проверкой модели. Не возвращая ошибкиC#

Место общения программистов C#
Ответить
Anonymous
 .NET 8 с проверкой модели. Не возвращая ошибки

Сообщение Anonymous »

У меня есть новый контроллер, который я настроил в своем веб-API ASP.NET Core 8, и я использую встроенную проверку модели для возврата сообщений об ошибках клиенту. Основываясь на том, что я вижу в документации, когда я возвращаю модель, сообщения об ошибках должны быть «добавлены» в модель возврата. Однако сообщения об ошибках не отображаются. < /P>
Вот мой контроллер и модель: < /p>

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

public class RegisterResponseModel
{
public string ConfirmCode { get; set; }
public int UserId { get; set; }
public string GlobalUserId { get; set; }
}

[Route("api/[controller]")]
[ApiController]
public class RegisterController : ControllerBase
{
private readonly IConfiguration _configuration;

public RegisterController(IConfiguration configuration)
{
_configuration = configuration;
}

[HttpPost]
[AllowAnonymous]
public async Task Index()
{
ModelState.AddModelError(string.Empty, "An illegal operation was detected");
var responseModel = new RegisterResponse();
return BadRequest(responseModel);
}
}
Когда я делаю пост к своему контроллеру, я получаю это обратно:
{
ConfirmCode: null,
UserId = 0,
GlobalUserId = null
}
< /code>
Однако я ожидаю вернуть это: < /p>
{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "|b587c9f9-4aff6eb0721c184a.",
"errors": {
"": ["An illegal operation was detected"]
}
}
< /code>
Я что -то здесь упускаю? Я видел много примеров, которые показывают такое поведение? < /P>
Я попробовал это: < /p>
return BadRequest(ModelState);
< /code>
Но это создает мою ошибку (ы) в списке без родительского объекта «ошибки». Я хочу, чтобы они завернули в этот родительский объект ради согласованности.

Подробнее здесь: https://stackoverflow.com/questions/797 ... ing-errors
Ответить

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

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

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

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

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