Validação Fluente com Swagger no Asp.net Core
Atualmente estou usandoFluent Validation
ao invés deData Annotations
para minha API da Web e usando o swagger para documentação da API. As regras de validação fluente não são refletidas no modelo swagger, pois não consigo configurar as regras de validação fluente com o filtro de esquema swagger.
Este Blog tem uma boa explicação para usá-lo com o ASP.net MVC. mas não consigo configurá-lo para usá-lo no ASP.net Core.
Até agora, tentei o código a seguir, mas não consigo obter o tipo de validador.
services.AddSwaggerGen(options => options.SchemaFilter<AddFluentValidationRules>());
public class AddFluentValidationRules : ISchemaFilter
{
public void Apply(Schema model, SchemaFilterContext context)
{
model.Required = new List<string>();
var validator = GetValidator(type); // How?
var validatorDescriptor = validator.CreateDescriptor();
foreach (var key in model.Properties.Keys)
{
foreach (var propertyValidator in validatorDescriptor.GetValidatorsForMember(key))
{
// Add to model properties as in blog
}
}
}
}