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

将参数传递给自定义映射函数

法兴德
2023-03-14

使用MapStruct,并希望将常量/参数传递给自定义映射器

我的目的地具有 Map 类型的字段

   @Mappings({

          @Mapping(source="source.someField", target="restrictions", constant="someKey"),

          @Mapping(source="source.startDate", target="restrictions", constant="someKey"),

          @Mapping(source="source.EndDate", target="restrictions", constant="someKey")

   })

   public abstract void restrictToClassA(SomeDataEntity source, @MappingTarget ClassA destination);

共有1个答案

吕森
2023-03-14

常量是目标的替代方法。不能在同一批注@Mapping中同时指定两者。但是,从你的故事中,我发现你可以控制你的“A类”目的地。因此,您可以将映射分组为四胞胎。所以:

Public Quadrupel{

   String prop1;
   String prop2;
   String prop3;
    //Getters/setters

}

ClassA{

   Quadrupel key1;
   Quadrupel key2;
    //Etc
    //Getters/setters

}

进入A类。然后,属性将沿着键名的行。您的自定义映射器可以拾取这些数据并将其映射到目标地图中。尽管如此,该键也会有点可疑,因为该属性将指示相同的值

 类似资料:
  • 问题内容: 当我定义一个自定义类型时,基础类型的类型似乎对我是否可以按原样将其传递给函数还是需要对其进行转换有所不同。 问题是: 为什么和起作用,但不起作用? https://play.golang.org/p/buKNkrg5y- 在这里,当我运行此函数时,它会抱怨,尽管它是基础类型。但是当我打电话或他们成功运行时。 问题答案: 和 您的新类型是2种不同的不同类型。在预期的地方,您必须传递typ

  • 问题内容: 这在Django 1.9中用form_kwargs修复。 我有一个看起来像这样的Django表单: 我称这种形式的东西是这样的: 登录用户在哪里。这按预期工作。 我的问题是,我现在想将此单一表单转换为表单集。我不知道的是在创建表单集时如何将会员信息传递给各个表单。根据文档来制作一个表单集,我需要做这样的事情: 然后我需要这样创建它: 现在如何以这种方式将affiliate = requ

  • 问题内容: 我很好奇Go中是否有可能。我有多种方法的类型。是否可以有一个函数,该函数需要一个方法参数,然后将其称为类型? 这是我想要的一个小例子: Go认为type 有一个称为的方法,而不是用传入的方法名称替换它。 问题答案: 是的,有可能。您有2(3)个选项: 规范:方法表达式 该表达式产生的功能与第一个参数等效,但具有一个显式接收器。它有签名。 在这里,方法接收器是显式的。您只需将方法名称(具

  • 问题内容: 我试图了解Go在创建带有参数的匿名函数与将该函数用作闭包之间的区别。这是区别的一个例子。 带参数: 作为关闭: 我的问题是,第一种形式何时比第二种更好?您是否会为此类事情使用参数?我唯一看到第一种形式有用的是从另一个函数返回a时。 问题答案: 使用闭包与使用函数参数之间的区别在于共享同一变量与获取值的副本有关。请考虑下面的两个示例。 在 Closure中, 所有函数调用都将使用中存储的

  • 陈述 我想去 但是显然没有使用...因为它不是切肉刀,我想了解更多关于函数及其传递参数的方式。 所以我尝试附加一个使用map函数列表的所有元素。但在此之前,是一个方法,而不是一个方法。 最后一个映射函数返回TypeError: 我想知道是否可以将参数传递给使用的方法。感谢

  • 我目前正在使用环境变量向负载测试传递自定义参数。例如,我的测试类如下所示: 然后,我将使用以下工具运行测试: 有没有更多的方式可以将自定义参数传递给命令行应用程序?