fix(api): Исправлена ошибка асинхронной валидации FluentValidation

- удалён устаревший пакет FluentValidation.AspNetCore, вызывавший конфликт версий (NU1605)
- реализован глобальный фильтр AsyncValidationFilter для поддержки MustAsync-правил
This commit is contained in:
Mikhail Kuznetsov
2026-05-21 10:21:00 +10:00
parent 4b96d1bebe
commit 6fc2fc22ac
5 changed files with 102 additions and 42 deletions

View File

@@ -1,7 +1,7 @@
using FluentValidation;
using FluentValidation.AspNetCore;
using Microsoft.AspNetCore.Mvc;
using PARR.API.Contracts.V1.Responses.Base;
using PARR.API.Infrastructure.Filters;
using PARR.API.Infrastructure.Middleware;
namespace PARR.API.Infrastructure
@@ -22,7 +22,11 @@ namespace PARR.API.Infrastructure
services.AddProblemDetails(); // Генерирует стандартный формат ошибки RFC 7807
// Настройка контроллеров и кастомного формата ошибок валидации
services.AddControllers()
services.AddControllers(options =>
{
// Автоматически применяем асинхронную валидацию ко всем контроллерам
options.Filters.Add<AsyncValidationFilter>();
})
.ConfigureApiBehaviorOptions(options =>
{
options.InvalidModelStateResponseFactory = context =>
@@ -43,7 +47,10 @@ namespace PARR.API.Infrastructure
//services.AddValidatorsFromAssemblies(Assembly.GetExecutingAssembly());
// Включаем авто-валидацию FluentValidation для контроллеров
services.AddFluentValidationAutoValidation();
//services.AddFluentValidationAutoValidation();
services.AddScoped<AsyncValidationFilter>();
return services;
}