본문 바로가기
스프링 부트

[스프링] String 클래스 자동 trim 메서드 적용하기

by illlilillil 2022. 10. 2.

새 프로젝트 도중 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();
      }
    });
  }
}

 


https://stackoverflow.com/questions/6852213/can-jackson-be-configured-to-trim-leading-trailing-whitespace-from-all-string-pr

댓글