Programming-[Backend]/SpringBoot

[TIL][링크] MapStruct 라이브러리 - @AfterMapping

컴퓨터 탐험가 찰리 2021. 12. 8. 20:09
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
반응형