В моих объектах DTO у меня есть несколько атрибутов, чтобы проверить его действительность
И я улавливаю такой ответ тела, когда проверка не удалась
{
"TransactionId": [
"Max length is 20"
],
"AdditionalInfo": [
"Additional Info has to be no longer than 30 chars"
]
}
Но мне нужно объединить все ошибки, чтобыбыть с ключом «Ошибка».Примерно так
{
"Error": [
"Max length is 20",
"Additional Info has to be no longer than 30 chars"
]
}
Я написал специальный фильтр и зарегистрировал его в Startup.cs
public class ModelStateErrorHandlingFilter : IAsyncActionFilter
{
public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
if (!context.ModelState.IsValid)
{
context.ModelState.SetModelValue("Errors", new ValueProviderResult(new StringValues(context.ModelState.ToString())));
context.Result = new BadRequestObjectResult(context.ModelState);
}
else
{
await next().ConfigureAwait(false);
}
}
}
Но ничего не меняется.Я также попытался изменить ключ, но у него есть приватный сеттер