Используйте Spring Mapper для сопоставления объекта Map - Java

Я столкнулся с некоторыми трудностями при попытке использовать функциональность аннотаций Mapper Spring. Я хотел бы использовать картограф для сопоставления объекта Map в java следующим образом:

Счетчики хостов:

@Data
@NoArgsConstructor
@AllArgsConstructor
public class HostsCounters {
    private Map<String,Map<String,Long>> hostsList;
}

Картограф:

@Mapper(componentModel = "spring")
public interface ResponseMapper {
    GeneralResponse toResponse(SevCount sevCount, HostsCounters hostsList, List<RegDAO> Reg);
}

ОбщийОтвет:

@Data
@NoArgsConstructor
public class GeneralResponse {
    private List<RegDAO> Reg;
    private HostsCounters hostsList;
    private SevCount sevCount;
}    

Ошибка:

Can't map property "java.util.Map> hostsList" to " HostsCounters hostsList". Consider to declare/implement a mapping method

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
505
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Просто используйте:

@Mapping(source = "hostsList", target = "hostsList")
GeneralResponse toResponse(SevCount sevCount, HostsCounters hostsList, List<RegDAO> Reg);

Но я бы настоятельно советовал вам избавиться от одинаковых имен с разным значением:

HostsCounters hostsList -> HostsCounters hostsLists

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