5 Nisan 2021 Pazartesi

MapStruct @BeforeMapping Anotasyonu

Örnek
Şöyle yaparız. Bu kodda Foo nesnesinin speed değeri @BeforeMapping içinde Km/h olarak değiştiriliyor. Çünkü @BeforeMapping map işleminden önce çağrılır 
Daha sonra @AfterMapping içinde bar nesnesinin name alanı büyük harf haline getiriliyor.
@Mapper
public abstract class CarsMapper {
  @BeforeMapping
  protected void convertSpeed(Foo foo, @MappingTarget Bar bar) {
    foo.setSpeed (foo.getSpeed() * Units.MILE_TO_KM);    
  }

  @AfterMapping
  protected void convertNameToUpperCase(@MappingTarget CarDTO carDto) {
    bar.setName(bar.getName().toUpperCase());
  }

  public abstract Bar toBar(Foo foo);
}

Hiç yorum yok:

Yorum Gönder