我需要一个映射来实现这个目标:
但是这种语法不起作用(顺便说一下:使用Spring Bean包装器可以工作)。 像这样的解决方案只是一个半成品解决方案。
但是我如何传递上面已经映射好的字段呢? (我使用的是最新的1.1.0.Final版本)
@Mapping(source = "a", target = "result.transactions[0].a"),
@Mapping(source = "b", target = "result.transactions[0].b"),
@Mapping(source = "c", target = "result.transactions[0].c"),
...
Response dataToResponse(DataModel model);
但是这种语法不起作用(顺便说一下:使用Spring Bean包装器可以工作)。 像这样的解决方案只是一个半成品解决方案。
@AsList
public <T> List<T> asList( T in ) {
List<T> result = new ArrayList<T>();
if ( in!=null ) {
result.add(in);
}
return result;
}
这仅适用于正好一个属性,因为它始终为每个属性创建一个新列表。我不需要将每个属性映射到新列表的第一个元素。该列表必须被重复使用,但我不知道如何实现。有什么正确的方法来完成这个任务呢? 我考虑了以下内容:
@Mapping(source = "a", target = "transaction.a"),
@Mapping(source = "b", target = "transaction.b"),
@Mapping(source = "c", target = "transaction.c"),
...
Transaction dataToTransaction(DataModel model);
然后...
@Mapping([use Transaction from b4], target = "result");
但是我如何传递上面已经映射好的字段呢? (我使用的是最新的1.1.0.Final版本)