ModelMapper - NPE при попытке пропустить назначение назначения? - PullRequest
0 голосов
/ 28 января 2019

Очень простая проблема, которая курит дыры в моем случае.Я пытаюсь пропустить setPassword userDTO каждый раз, когда я конвертирую User -> UserDTO.

Я получаю исключение NullPointerException, в этой строке в ModelMapper -

Я понимаю, что сопоставление 'source' отсутствует, но мой вопрос, почему его это вообще волнует, так как я просил его не устанавливатьпароль вообще.

Извините, я думаю, что мне не хватает некоторых основ здесь с ModelMapper.Спасибо за ваше время и помощь.

Получил помощь от ModelMapper пропустил поле и несколько других ссылок, но не повезло.

enter image description here

Ниже приведен код

@Bean
public ModelMapper modelMapper() {
    ModelMapper mm = new ModelMapper();
    mm.getConfiguration().setMatchingStrategy(MatchingStrategies.STRICT);
    TypeMap<User, UserDTO> userEntityToDTOMap = mm.createTypeMap(User.class, UserDTO.class);
    userEntityToDTOMap.addMappings(a -> a.skip(UserDTO::setPassword));

    return mm;
}

public static void main(String[] args) {
    BootstrapConfigurationManager mgr = new BootstrapConfigurationManager();
    ModelMapper mm = mgr.modelMapper();
    mm.getConfiguration().setPropertyCondition(Conditions.isNotNull());

    User user = new User();
    user.setId(44L);
    user.setPassword("password");

    UserDTO userDTO = new UserDTO();
    userDTO.setEmailAddress("abc@abc.com");

    mm.map(user, userDTO);

    System.out.println(userDTO.getId());
    System.out.println(userDTO.getEmailAddress());
    System.out.println(userDTO.getPassword());
}

1 Ответ

0 голосов
/ 29 января 2019

Ах !!!Это была ошибка в версии 1.1.0.Я только что обновил его до 2.3.2 и больше не получаю NPE.Я должен был подумать об обновлении версии, прежде чем публиковать этот вопрос.

...