Я разрабатываю REST API. Я реализую пакеты с помощью автоматического средства, чтобы сравнить объект модели поста с правильным объектом модели пользователя.
Проблема в том, что я настроил и использую как службу в внедрении зависимости, но игнорирую определенные правила.
IMapper mapper = CreateMapperStartUp(services);
Здесь я создал объект IMapper
:
private IMapper CreateMapperStartUp(IServiceCollection services)
{
var mapperConfiguration = new MapperConfiguration(conf =>
{
conf.AddProfile<MappingKey>();
});
IMapper mapper = mapperConfiguration.CreateMapper();
services.AddAutoMapper(typeof(Startup));
return mapper;
}
Я использую профиль "MappingKey".
public class MappingKey : Profile
{
public MappingKey()
{
CreateMap<CreateKeyViewModel, Key>().ReverseMap();
CreateMap<UpdateKeyViewModel, Key>().ReverseMap();
}
}
Там я создал метод map с пост-объектными моделями и ключевыми объектами пользователя. И, наконец, мой класс валидатора с правилами отображения.
public class CreateKeyValidator : AbstractValidator<CreateKeyViewModel>
{
private readonly MysqlDAO _mysqlDAO;
public CreateKeyValidator(MysqlDAO mysqlDAO)
{
_mysqlDAO = mysqlDAO;
RuleFor(x => x.Id).NotNull().Must(x => !_mysqlDAO.ExistId(x));
RuleFor(x => x.Colour).NotNull().Length(2, 3);
RuleFor(x => x.Date).NotNull().Length(2, 50);
}
}
В чем проблема и почему преобразователь передает объект с нулевыми параметрами?