새 프로젝트 도중 string 클래스가 앞뒤 공백이 있어도 저장이 되는 것을 확인할 수 있었다.
DTO의 각 필드마다 trim 메서드를 적용할 수 있었지만 그러면 보일러 플레이트가 너무 많아져 관리 포인트가 늘어난다.
아래 역직렬화 모듈을 String 클래스만 등록하여 사용할 수 있다.
StdScalarDeserializer 클래스를 오버라이드하여 원하는대로 커스텀하여 적용할 수 있다.
@Component
public class StringTrimModule extends SimpleModule {
public StringTrimModule() {
addDeserializer(String.class, new StdScalarDeserializer<>(String.class) {
@Override
public String deserialize(JsonParser jsonParser, DeserializationContext ctx)
throws IOException {
return jsonParser.getValueAsString().trim();
}
});
}
}
'스프링 부트' 카테고리의 다른 글
[스프링] 히카리CP란? (0) | 2022.10.07 |
---|---|
[스프링] TestContainer란? (0) | 2022.10.04 |
[개발방법론] DDD란 무엇인가? (0) | 2022.09.10 |
[스프링] 재고 시스템으로 알아보는 동시성 문제 해결 방법 (0) | 2022.09.02 |
[스프링] UserDetailsService를 여러 개 구현하고 잘 사용하기 (0) | 2022.08.25 |
댓글