#java #kotlin #mapstruct #kotlin-coroutines
Вопрос:
Мой проект успешно использует MapStruct, когда он не включает потоки потоков или потоков. Когда я пытаюсь создать сопоставитель с потоком или Потоком, я получаю сообщение об ошибке: «Ошибка: Поток возвращаемого типа является абстрактным классом или интерфейсом». Поскольку поток и поток являются интерфейсами, есть ли способ по-прежнему использовать MapStruct или мне нужно свернуть свой собственный картограф в этом случае использования?
Спасибо за ваши комментарии и время
Ответ №1:
Я не знаю, из чего вы хотите создать поток Котлина или Поток реактора. Если это из другого потока или потока, то вам придется сделать это частично вручную
напр.
@Mapper
public interface CustomerMapper {
default Flow<CustomerDto> map(Flow<Customer> customers) {
return customers.map(this::map);
}
CustomerDto map(Customer customer);
}
То же самое было бы и для react. Если вы заинтересованы в том, чтобы MapStruct поддерживал это из коробки, я бы предложил запросить функцию в отслеживателе проблем MapStruct
Комментарии:
1. Привет, Филип, спасибо тебе за твой ответ. В качестве обходного пути я реализовал аналогичную функцию, не связанную с картой. Я забыл, что мы можем определить этот пользовательский обработчик внутри картографа. Я перенесу свое решение в картограф. Отличная идея, Филип! Спасибо!