728x90
반응형
org.mapstruct 에서는 @AfterMapping 어노테이션을 지원한다. 해당 기능을 이용하면 데이터 전달 오브젝트인 DTO에서, 또는 DTO로 의 mapping이 일어난 후 어떤 메서드가 자동으로 실행되도록 할 수 있다.
Mapper 클래스에서 @AfterMapping으로 mapping후 특정 메서드가 작동되도록 선언한다. 사용자로부터 입력받지 않은 값, 또는 서버에서 굳이 복잡한 로직을 거치지 않고 간단한 값을 클라이언트에 전달해주고 싶을 때 유용하게 사용할 수 있다.
예시코드
1
2
3
4
5
6
7
8
|
@Mapper(componentModel = "spring")
public abstract class XxxPoToDtoMapper implements 제네릭으로 정의한 Mapper 인터페이스<XxxPo, XxxDto> {
@AfterMapping
public void setDiscountRate(@MappingTarget XxxDto xxxDto) {
xxxDto.setDiscountRate(10); //po에는 없는 필드명인데, dto에 discountRate라는 필드명을 두고 10으로 지정해서 사용가능.
}
}
|
cs |
728x90
반응형