[스프링과 스프링 MVC] 4. LocalDate 바인딩이 왜 자주 깨지는가
·
Web/Web Basics
Formatter로 “문자열 → 타입” 변환 규칙을 등록한다스프링 MVC의 파라미터 바인딩은 편하다.요청 파라미터가 문자열로 들어와도int/boolean 같은 기본 타입은 자동 변환해주고DTO 필드에도 알아서 채워준다그런데 실전에서 가장 자주 터지는 타입이 있다.날짜(LocalDate, LocalDateTime) 1) 왜 날짜에서 에러가 자주 나나HTTP 요청 파라미터는 기본적으로 전부 문자열이다.예를 들어 사용자가 폼에서 날짜를 입력하면 이런 문자열이 온다.dueDate=2020-10-10문제는 스프링이 이 문자열을LocalDate 객체로 바꾸는 규칙을 “항상 자동으로 알 수는 없다”는 점이다.즉 바인딩 과정에서“String을 LocalDate로 변환할 수 없다”같은 타입 변환 에러가 발생할 수 있다...