Mapstruct: использование контекста в исходном аргументе @Mapping - PullRequest
0 голосов
/ 15 мая 2019

При использовании нескольких аргументов в @Mapper, кажется, что аргументы @Context недоступны

public interface MyMapper {

  @Mapping(target="target1", source="arg1.arg") //works
  @Mapping(target="target2", source="arg2") //works
  @Mapping(target="target3", source="arg2.arg") //works
  @Mapping(target="target2", source="context.arg") //NOT WORKING
  public MyTarget convert(Object arg1, Object arg2, @Context Object context);

}

Я пытаюсь использовать и expression="", чтобы обойти это, но я не могу получитьэто сработает.

Есть предложения?

Я вижу, что я не единственный, кто когда-либо желал этого.https://github.com/mapstruct/mapstruct/issues/1280

Спасибо

1 Ответ

1 голос
/ 16 мая 2019

По определению @Context аннотированный объект не является источником. Это контекст, поэтому вы не можете использовать его как source в @Mapping(target="target2", source="context.arg")

...