当前位置: 首页 > 知识库问答 >
问题:

地图结构 DTO 属性

韩博厚
2023-03-14

我需要在DTO上有一个类似idEncrypted的属性,因为它们只能通过加密的方式传递给我,但是,我需要映射在DB上找到的解密id。我已经有了一个解密方法,但我不知道如何映射它并忽略idEncrypted。

@Data
@EqualsAndHashCode(callSuper=false)
@NoArgsConstructor
public class MyDTO {  

    private String idEncrypted;
  
    ...
    ...

}

我不知道在哪里做转换

idDecrypted = Long.parseLong(MyUtils.decrypt(idEncrypted));

共有1个答案

洪河
2023-03-14

您可以编写自己的自定义限定方法来进行解密。

e. g.

@Mapper
public MyMapper {

    @Mapping(target = "id", source = "idEncrypted", qualifiedByName = "decryptId")
    MyEntity map(MyDTO dto);

    @Named("decryptId")
    default Long decryptId(String id) {
        return id != null ? Long.parseLong(MyUtils.decrypt(id)) : null;
    }
}
 类似资料:
  • 问题内容: 我试图在Go中创建一个通用方法,该方法将填充来自的使用数据。例如,方法签名和用法可能类似于: 我知道可以使用JSON作为中介来完成;还有另一种更有效的方法吗? 问题答案: 最简单的方法是使用https://github.com/mitchellh/mapstructure 如果您想自己做,则可以执行以下操作: http://play.golang.org/p/tN8mxT_V9h

  • 我正在与MapStruct的循环依赖问题作斗争。由于循环依赖,我一直有一个StackOverFlow错误。为了避免它,我只需要排除一个列表的属性。我发现了这个:https://github.com/mapstruct/mapstruct/issues/933我在网上查了很久,我很惊讶我找不到任何完整的例子来展示使用MapStruct的双向DTO映射(除了使用< code > @ Context c

  • 如何使用MapStruct映射嵌套列表? 下面是我的实体类: 我想把它映射到: 现在,我的映射器看起来像: 但它只映射“普通”属性,如Long、intger等,但它避免了嵌套列表。

  • 我想用gradle在groovy类上使用Mapstruct映射器。build.gradle中的配置看起来像一个Java项目。 问题是没有生成映射器的实现类。我还尝试为groovy编译任务应用不同的选项,但它不起作用。 有人知道Mapstruct是否可以与groovy类一起工作,以及我必须如何配置它吗?

  • 问题内容: 我一直在研究使用结构作为golang映射中的键。此结构中的一个字段也应该是一个映射,这似乎与此处提供的文档背道而驰,该文档只说那些具有可与之进行比较的字段且可以在用作映射中键的结构的字段中的结构。但是,我继续尝试以下方法: 输出为: 这似乎违反了文档,因为用作键的结构中的字段是映射。我似乎出了什么问题? 问题答案: 在您的示例中,映射键是指向结构的指针,而不是结构本身。即使指针指向的项

  • 我有这样的收藏:<代码>地图 所以返回将是: