Mapstruct LocalDateTime 到 Instant

2023-11-25

我是 Mapstruct 的新手。我有一个模型对象,其中包括LocalDateTime类型字段。 DTO 包括Instant类型字段。我想要地图LocalDateTime将字段键入Instant类型字段。我有TimeZone传入请求的实例。

像这样手动进行字段设置;

set( LocalDateTime.ofInstant(x.getStartDate(), timeZone.toZoneId()) )

如何使用 Mapstruct 映射这些字段?


您有 2 个选择来实现您想要的目标。

第一个选项:

使用新的@Context1.2.0.Final 中的注释timeZone属性并定义您自己的执行映射的方法。就像是:

public interface MyMapper {

    @Mapping(target = "start", source = "startDate")
    Target map(Source source, @Context TimeZone timeZone);

    default LocalDateTime fromInstant(Instant instant, @Context TimeZone timeZone) {
        return instant == null ? null : LocalDateTime.ofInstant(instant, timeZone.toZoneId());
    }
}

然后 MapStruct 将使用提供的方法来执行之间的映射Instant and LocalDateTime.

第二个选项:

public interface MyMapper {

    @Mapping(target = "start", expression = "java(LocalDateTime.ofInstant(source.getStartDate(), timezone.toZoneId()))")
    Target map(Source source, TimeZone timeZone);
}

我个人的选择是使用第一个

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mapstruct LocalDateTime 到 Instant 的相关文章

随机推荐

  • 从表行传递多个具有相同名称的请求参数

    我有一个带有复选框的表 用户可以检查并删除表中的该行 我一切正常 但如果用户选中两个框 它只会检索表格上的第一个框 tr td td tr
  • 使用整数映射 Pandas Dataframe 中的字符串值

    在熊猫中DataFrame如何将一列中的字符串与整数映射 我有大约 500 根弦DataFrame并需要将它们替换为以 1 开头的整数 Sample DataFrame Request count 547 GET online WebRes
  • 适用于 MP3、AAC、WAV 的跨平台 (C/C++) 音频库

    我正在尝试找到一个跨平台音频库 该库将具有以下功能 按重要性排序 完整的 Windows Mac Linux 支持 C C API 免费 便宜但具有商业可行性 MP3 支持 AAC 支持 WMA 支持 FLAC 支持 奥格支持 ARM Li
  • SOLR 搜索提供商的 Sitecore 8.1 索引重建策略

    只是通读了下面的索引更新策略文档 但无法得到关于哪种策略最适合 SOLR 搜索实现的明确答案 https doc sitecore net sitecore experience platform search and indexing i
  • f# 中多路树的折叠/递归

    我正在尝试将布莱恩的折叠改编为二叉树 http lorgonblog wordpress com 2008 04 06 catamorphisms part two 申请多路树 布莱恩博客的总结 数据结构 type Tree lt a gt
  • 如何使用python获取隐藏输入的值?

    如何从html页面获取输入值 like
  • 通过主屏幕替换技术了解 Android 上的自定义锁定实现

    我一直在研究这个问题很多 我问相关的本周的问题 该领域最有帮助和最相关的链接是this and this 我想了解它是如何工作的 如果作为主屏幕替换应用程序实现的话 快速提问 如果实施 应将哪个屏幕设置为默认屏幕 我们的主屏幕替换还是原始主
  • 多维数组求和 C#

    如何从多维数组中筛选出一些值 然后计算平均选定值 因此 当我单击某个图像时 它不仅应该在鼠标指针所在的点显示深度数据 来自 Microsoft Kinect 而且还应该计算环境中的值 多维数组 这是我的代码 protected void i
  • 在组织模式下使用 babel 捕获 shell 命令的输出

    我想了解我的网络硬件 lspci grep i net 从终端 此命令给出以下输出 00 19 0 以太网控制器 Intel Corporation 82577LM 千兆位网络连接 修订版 06 02 00 0 网络控制器 Intel Co
  • 忽略整个文件夹中的特定 flake8-docstrings 错误

    有没有办法忽略指定目录中发生的错误 例如 我有D103 Missing docstring in public function错误 在每个文件里面 foo目录 我想忽略该错误 是否可以设置这样的设置setup cfg file 从 Fla
  • 如何安装ROracle包?

    我正在尝试使用安装 ROracle 包install packages ROracle 但每次我收到这条消息 Package which is only available in source form and may need compi
  • 如何检查对象是否已存在于列表中

    我有一个清单 List
  • 将变量传递给现代中继中的片段容器

    我在用着现代接力 兼容 我有一个片段 其中包含一个具有一个参数的字段 但我找不到一种从父组件传递变量值的方法 MyFragmentComponent jsx class MyFragmentComponent extends Compone
  • stl容器如何被删除?

    stl 中的向量等容器对象如何被销毁 即使它们是在堆中创建的 EDIT 如果容器保存指针那么如何销毁这些指针对象 指针的 STL 容器不会清除所指向的数据 它只会清理指针所在的空间 如果您希望向量清理指针数据 您需要使用某种智能指针实现 s
  • 辅助路由仅适用于根组件吗?

    我在子组件中设置辅助路由时遇到问题 由于某种原因 只有那些从根组件开始的辅助路由才起作用 这是我的路由器设置 export const routes RouterConfig path test1 component Test1Compon
  • 如何将数据合并到 XDP 文件并返回 PDF(通过 .NET)?

    我的团队有一个使用 Adob e LiveCycle 设计器创建的模板 XDP 情况 我们正在替换旧的 Acrobat 表单 XFDF 格式 使用此 LiveCycle 作为更大升级的一部分 当前的 Acrobat 格式是 动态填充基本数据
  • 更改 Azure 数据库端口

    是否可以更改天蓝色服务器使用的端口 我目前只看到添加可用于访问服务器的 IP 地址的功能 或者防火墙是否需要允许端口 1433 出站流量 假设您指的是 SQL 数据库服务及其关联的防火墙 则否 您只能将 IP 地址添加到防火墙以进行访问 无
  • set -- “$@” “$i” 在 Bash 中是什么意思?

    The set以下循环中的命令让我感到困惑 for i in do set i what does it mean done 我能够了解 是所有位置参数 并且 i是位置参数之一 但是 我不明白什么 set i means 它附加了值 i到位
  • 从视频url获取视频缩略图

    是否可以从视频 URL 中获取缩略图 我需要列表视图中的视频缩略图 是的 可以使用 ThumbnailUtils 获取视频的缩略图 FileOutputStream out File land new File Environment ge
  • Mapstruct LocalDateTime 到 Instant

    我是 Mapstruct 的新手 我有一个模型对象 其中包括LocalDateTime类型字段 DTO 包括Instant类型字段 我想要地图LocalDateTime将字段键入Instant类型字段 我有TimeZone传入请求的实例 像