Как вызвать метод MapStruct из интерфейса в потоке JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как вызвать метод MapStruct из интерфейса в потоке Java

Сообщение Anonymous »


Недавно я начал использовать в своем проекте инструмент сопоставления MapStruct. Раньше для сопоставления DTO -> Entity и наоборот я использовал собственный преобразователь, например:

public static CustomerDto toDto(Клиент-клиент) { вернуть isNull (клиент) ? нулевой : CustomerDto.builder() .id(customer.getId()) .name(customer.getName()) .surname(customer.getSurname()) .phoneNumber(customer.getPhoneNumber()) .email(customer.getEmail()) .customerStatus(customer.getCustomerStatus()) .username(customer.getUsername()) .NIP(customer.getNIP()) .строить(); } В случае, когда я все-таки пытался получить один единственный необязательный объект, мне удалось сопоставить свою сущность с dto следующим образом:

public Необязательный findOneById(конечный длинный идентификатор) { вернуть customerRepository.findById(id).map(CustomerMapper::toDto); } В настоящее время, как я уже упоминал ранее, я использую MapStruct, и проблема в том, что мой картограф это не класс, а интерфейс типа:

@Mapper общедоступный интерфейс CommentMapper { @Mappings({ @Mapping(target = "content", source = "entity.content"), @Mapping(target = "пользователь", источник = "entity.user") }) CommentDto commentToCommentDto (объект комментария); @Mappings({ @Mapping(target = "content", source = "dto.content"), @Mapping(target = "user", source = "dto.user") }) Комментарий commentDtoToComment(CommentDto dto); } Я хочу знать, можно ли как-то использовать этот метод интерфейса в потоке Gentle для сопоставления моего значения без переноса значений, например:

public Необязательный findCommentById(конечный длинный идентификатор) { Необязательный commentById = commentRepository.findById(id); return Необязательный.ofNullable(commentMapper.commentToCommentDto(commentById.get())); } Спасибо за любую помощь.
Ответить

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

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

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

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

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