Mapstruct Mapper не отображает вложенные DTO должным образом в Spring BootJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Mapstruct Mapper не отображает вложенные DTO должным образом в Spring Boot

Сообщение Anonymous »

У меня есть DTO, который не работает с сопоставлением

Код: Выделить всё

    @Data
public class IndividualDTO {
private String passportNumber;
private String phoneNumber;
private UserDTO user;

@Data
public static class UserDTO {

@NotBlank
@Email
private String email;
private String secretKey;
private String firstName;
private String lastName;
private AddressDTO address;
}

@Data
public static class AddressDTO {
private String address;
private String city;
private String state;
private String zipCode;
private CountryDTO country;
}

@Data
public static class CountryDTO{
private String name;
}
}
Я пытаюсь отобразить с использованием Mapstruct таким образом

IndividaMapper
< /blockquote>

Код: Выделить всё

@Mapper(componentModel = "spring", uses = {UserMapper.class, AddressMapper.class, CountryMapper.class})
public interface IndividualMapper {

IndividualMapper INSTANCE = Mappers.getMapper(IndividualMapper.class);

Individual toEntity(IndividualDTO dto);

IndividualDTO toDto(Individual entity);
}
AddressMapper

Код: Выделить всё

@Mapper(componentModel = "spring")
public interface AddressMapper {

Address toAddressEntity(IndividualDTO.AddressDTO addressDTO);

IndividualDTO.AddressDTO toAddressDto(Address address);
}
CountryMapper

Код: Выделить всё

@Mapper(componentModel = "spring")
public interface CountryMapper {

Country toCountryEntity(IndividualDTO.CountryDTO countryDTO);

IndividualDTO.CountryDTO toCountryDto(Country country);
}
UserMapper

Код: Выделить всё

@Mapper(componentModel = "spring")
public interface UserMapper {

User toUserEntity(IndividualDTO.UserDTO userDTO);

IndividualDTO.UserDTO toUserDto(User user);
}
< /code>
В результате я получаю: < /p>
@Component
public class IndividualMapperImpl implements IndividualMapper {

@Override
public Individual toEntity(IndividualDTO dto) {
if ( dto == null ) {
return null;
}

Individual individual = new Individual();

return individual;
}

@Override
public IndividualDTO toDto(Individual entity) {
if ( entity == null ) {
return null;
}

IndividualDTO individualDTO = new IndividualDTO();

return individualDTO;
}
}
Согласно документации MapStruct, все должно работать, но, к сожалению, я столкнулся с этой проблемой.
MapStruct сгенерировал IndividualMapperImpl для меня класс, в котором нет логики

Подробнее здесь: https://stackoverflow.com/questions/793 ... pring-boot
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»