标签: mapper

当指定条件!= null时,Automapper不会正确映射null List成员

当我尝试映射对象的空列表(成员)时出现问题,考虑到我指定:

.ForAllMembers(opts => opts.Condition((src, dest, srcMember) =>
    srcMember != null
));
cfg.AllowNullCollections = true; // didn't help also
Run Code Online (Sandbox Code Playgroud)

代码中的简短示例:

gi.PersonList = new List<Person>();
gi.PersonList.Add(new Person { Num = 1, Name = "John", Surname = "Scott" });
GeneralInfo gi2 = new GeneralInfo();
gi2.Qty = 3;

Mapper.Map<GeneralInfo, GeneralInfo>(gi2, gi);
Run Code Online (Sandbox Code Playgroud)

gi.PersonList.Count = 0,如何解决?

using System;
using System.Collections.Generic;
using AutoMapper;

public class Program
{
   public static void Main(string[] args)
    {
        Mapper.Initialize(cfg =>
        {
            cfg.AllowNullCollections = true;
            cfg.CreateMap<GeneralInfo, GeneralInfo>()
            .ForAllMembers(opts => opts.Condition((src, dest, srcMember) …
Run Code Online (Sandbox Code Playgroud)

c# automapper mapper automapper-6

5
推荐指数
1
解决办法
973
查看次数

Mapper 中是否有任何bulkUpdate(类似于bulkDelete_!!)?

有没有类似于bulkDelete_的bulkUpdate方法!!在映射器中,以便我可以更新基础表中的记录?

scala lift mapper

4
推荐指数
1
解决办法
210
查看次数

Glue vs Automapper vs Emit vs ValueInjecter实体映射器

我正在研究一个DDD项目,其中正在进行大量的字段映射.我正在寻找一个快速而可靠的映射库,而不是手工编写所有映射,并且似乎有很多选项.

目前我更倾向于Glue,因为它看起来提供了相当多的功能,并且还考虑了单元测试,这对我正在进行的项目也很重要.在不利方面,它只下载了200多次,这让我觉得像ValueInjecter这样的东西可能是更好的选择,因为它有更多的支持.

我的问题是,Glue比其他任何一个地图制作者更好还是更差?或者上面提到的映射器之间的差异在性能和可用性方面可以忽略不计?

c# asp.net automapper mapper valueinjecter

4
推荐指数
1
解决办法
2575
查看次数

BO中的<=> DTO映射器

我目前在我的应用程序中手动将DTO转换为BO(反之亦然).然而,这种方法很笨拙.

这两个表示之间有没有好的映射器?

我的要求如下:

  • 应支持将JPA代理转换为标识符(DTO不应直接链接到其他DTO).或者这个功能应该易于实现
  • 应基于注释,对配置进行预防
  • 软标准:应允许将多个DTO映射到一个实体(反之亦然)

谢谢你的任何建议.

java reflection dto mapper

4
推荐指数
2
解决办法
7780
查看次数

Reducer和mappers可以在同一个数据节点上吗?

我已经开始阅读有关大数据和Hadoop的内容了,所以这个问题对你来说可能听起来很愚蠢.

这就是我所知道的.

每个映射器处理少量数据并产生中间输出.在此之后,我们有了洗牌和排序的步骤.

现在,Shuffle =将中间输出移动到各自的Reducers,每个Reducers处理特定的键/键.

那么,一个数据节点是否可以在其中运行Mapper和Reducer代码,或者每个数据节点都有不同的DN?

hadoop reducers mapper

4
推荐指数
1
解决办法
1893
查看次数

如何用ant展平zip文件的顶级文件夹?

很多zip文件都有一个根文件夹,如何解压缩zip文件并删除根文件夹?

我知道有globmapper:

<unzip dest="${dest.path}">
    <fileset dir="${source.path}">
        <include name="**/zipfile*.*.zip" />
    </fileset>
    <mapper>
        <globmapper from="rootFolder/*" to="*" />
    </mapper>
</unzip>
Run Code Online (Sandbox Code Playgroud)

但是,如果我不知道根文件夹的名称呢?通配符不起作用,例如

<globmapper from="root*Folder/*" to="*" />
Run Code Online (Sandbox Code Playgroud)

有没有办法使用通配符或没有根文件夹进行upack的映射器/函数?

ant zip unzip mapper

4
推荐指数
1
解决办法
1736
查看次数

将 QComboBox::currentIndexChanged(int) 连接到 QSignalMapper::map()

我想弄清楚如何在 Qt5 中实现这一点:

connect(qcombobox, SIGNAL(currentIndexChanged(int),
        qsignalmappe, SLOT(map()));
Run Code Online (Sandbox Code Playgroud)

我试过这个:

connect(comboBox, static_cast<void(QComboBox::*)(int) (&QComboBox::currentIndexChanged),
        this->signalMapper, &QSignalMapper::map);
Run Code Online (Sandbox Code Playgroud)

但是编译器抱怨没有匹配的参数。我知道 QSignalMapper::map() 信号没有参数,但我不知道它如何使用旧语法。

c++ qt signals mapper

4
推荐指数
1
解决办法
2611
查看次数

Spring Boot 无法反序列化包含 OffsetDateTime 的对象

我正在尝试调用一个休息端点,它返回一个 pojo 对象,如下所示:

public class Process   {
  @JsonProperty("id")
  private String id = null;

  @JsonProperty("processDefinitionId")
  private String processDefinitionId = null;

  @JsonProperty("businessKey")
  private String businessKey = null;

  @JsonProperty("startedAt")
  private OffsetDateTime startedAt = null;

  @JsonProperty("endedAt")
  private OffsetDateTime endedAt = null;

  @JsonProperty("durationInMs")
  private Integer durationInMs = null;

  @JsonProperty("startActivityDefinitionId")
  private String startActivityDefinitionId = null;

  @JsonProperty("endActivityDefinitionId")
  private String endActivityDefinitionId = null;

  @JsonProperty("startUserId")
  private String startUserId = null;

  @JsonProperty("deleteReason")
  private String deleteReason = null;

  //constructors and setters+getters
}
Run Code Online (Sandbox Code Playgroud)

这是调用:

ResponseEntity<Process> responseModel = restTemplate.exchange("http://localhost:8062/processes", HttpMethod.POST, httpEntity, Process.class);
Run Code Online (Sandbox Code Playgroud)

问题是我尝试了一些方法,例如忽略 …

java spring object mapper spring-boot

4
推荐指数
1
解决办法
5592
查看次数

Keycloak“高级声明组”身份提供程序映射器示例

我正在使用 Keycloak 18.0.2。Okta 是我配置的身份提供商之一。我正在使用 OIDC 提供商(不是 SAML)。我想将来自 Okta 的传入组声明映射到我在 Keycloak 中定义的用户组。我找不到很多关于如何在传入列表中搜索特定传入组的示例(Okta 中的组声明是一个列表,又名数组)。这意味着,在 Okta 中,如果我要预览 Okta 授权服务器的令牌,令牌将如下所示:

{
  ...
  "scp": [
    "openid"
  ],
  "auth_time": 1000,
  "sub": "testuser@xyz.com",
  ...
  "groups": [
    "Group1",
    "Group2",
    "Group3"
  ]...
}
Run Code Online (Sandbox Code Playgroud)

在Keycloak中,我定义了一个名为“AsiaPacific”的用户组。在 keycloak 身份映射器提供程序详细信息屏幕中,我想说,如果传入组声明包含“Group1”,则映射到组“AsiaPacific”,但我似乎无法使其工作。我在此处的“名称”和“值”字段中输入什么,因为无论我指定什么,它似乎都不起作用?同样,传入的组声明的值不是字符串,而是字符串数组。提前致谢。

Keycloak 中的身份提供者映射器

arrays mapper keycloak okta group

4
推荐指数
1
解决办法
3310
查看次数

keycloak 客户端协议映射器(脚本映射器)将请求头添加到令牌中

当我从 keycloak 请求令牌时,我希望将请求中提供的特定标头值(或额外的表单数据)放入生成的令牌的 JWT 负载中。我尝试使用脚本映射器来访问标头值,但我看不到如何访问以任何可用脚本变量发送的表单数据中的标头值或数据:user, realm, userSession, keyclockSession

mapper keycloak

3
推荐指数
1
解决办法
3371
查看次数