首页 > 解决方案 > java - 如何使用mapstruct java将字符串字段转换为hashmap值?

问题描述

我想使用mapstrcutaccountNo映射到argument具有特定键的值(我的意思是 hashmap 的键)。有任何想法吗?

事件是我的目标

    private Map<String, Object> argument;
    private LocalDateTime dateTime;

AccountRequest是我的来源

    private String accountNo;
    private LocalDateTime dateTime;

我有如下映射器,但我也想要相反的映射器。

    @Mapping(target = "accountNo", expression = "java(event.getArgument().get(key).toString())")
    AccountRequest eventToAccountRequest(Event event, String key);

    Event accountRequestToEvent(AccountRequest accountRequest); // this is my question

标签: javaspringspring-bootmapstruct

解决方案


为什么不使用默认映射器。就像是:

default Event accountRequestToEvent(AccountRequest accountRequest) {
    Event event = new Event();
    event.setArguement(Collections.singletonMap(accountRequest.getAccountNo(), "value"));
    return event;
}

推荐阅读