AI Briefing

Jackson Deserializer 코드 분석하기

·2023.03.09 19:00

핵심 내용

Spring Boot 환경에서 QueryParam과 JSON Body의 공백 문자를 자동으로 제거하는 방법을 소개한다.

자세히 보기

데이터베이스에는 값이 존재하지만 백오피스에 노출되지 않는 문제는 종종 공백 문자나 눈에 보이지 않는 특수 문자로 인해 발생한다. 이를 방지하기 위해 시스템 입력 단계에서부터 공백을 제거하여 데이터의 정확성을 확보하는 것이 중요하다.

QueryParam의 공백을 제거하려면 @RestControllerAdvice와 @InitBinder를 조합하여 사용할 수 있다. StringTrimmerEditor를 등록하면 모든 컨트롤러의 쿼리 파라미터에 대해 trim() 처리를 수행하며, emptyAsNull 옵션을 통해 빈 문자열을 null로 변환하여 유효성 검사 과정을 간소화할 수 있다.

RequestBody로 전달되는 JSON 데이터의 경우, Jackson의 Deserializer를 커스텀하여 처리한다.

  • **JsonDeserializer**을 상속받은 커스텀 클래스 구현
  • ObjectMapper에 SimpleModule을 통해 해당 Deserializer 등록

이 방식을 적용하면 JSON 데이터를 읽을 때마다 문자열 양옆의 공백을 자동으로 제거하여 데이터의 일관성을 유지할 수 있다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.