ModelMapper со стратегией соответствия STRICT

У меня есть следующие классы сущностей:

class Provider{
    private String providerId;
    private String identificationNumber;
    private Account account;

  // Setters, Getters and toString
}

class Account {
    private String name;
    private String lastname;
    private String email;

   // Setters, Getters and toString
}

DTO:

class ProviderDTO{
    private String providerId;
    private String identificationNumber;
    private String accountName;
    private String accountLastname;

   //Setters, Getters and toString
 }

Если я попытаюсь сопоставить мой DTO с объектом Provider, используя (MatchingStrategies.STRICT):

Provider provider = modelMapper.map(providerDTO,Provider.class);

provider.getAccount().getName() является нулевым и provider.getAccount().getName() является нулевым

Но если я использую (MatchingStrategies.STANDARD): Отлично работает....

provider.getAccount().getName() не является нулевым и provider.getAccount().getName() не нуль

Мой вопрос: как мне назвать свойства моего DTO, чтобы модель-картограф работал в режиме STRICT?

Я хотел бы получить объяснение того, как работает строгий режим, потому что я не нашел примеров даже на официальном сайте modelmapper. Большое спасибо!

1 ответ

Стратегия сопоставления STRICT не поддерживает этот тип отображения (иерархическое -> плоское или плоское -> иерархическое).

Пожалуйста, ознакомьтесь с документами здесь: стратегия соответствия и модульный тест для стратегии соответствия STRICT: StrictMatchingStrategyTest

Я создал пример стратегий ModelMaper и загрузил на GitHub.

https://github.com/ishwarlal/ModelMapperExamples

Это может помочь вам понять, как это работает.

Другие вопросы по тегам