Spring boot에서 @RequestParam으로 Date(or LocalDate, LocalDateTime)을 받는 방법에 대해 몇가지 알아본다.
- 속성
iso
RequestParam을 포맷하는데 사용할 ISO 패턴 enum 타입으로 정의되 있다.
enum ISO {
/**
* The most common ISO Date Format {@code yyyy-MM-dd},
* e.g. "2000-10-31".
*/
DATE,
/**
* The most common ISO Time Format {@code HH:mm:ss.SSSZ},
* e.g. "01:30:00.000-05:00".
*/
TIME,
/**
* The most common ISO DateTime Format {@code yyyy-MM-dd'T'HH:mm:ss.SSSZ},
* e.g. "2000-10-31T01:30:00.000-05:00".
* <p>This is the default if no annotation value is specified.
*/
DATE_TIME,
/**
* Indicates that no ISO-based format pattern should be applied.
*/
NONE
}
pattern
iso 형식으로 표시되지 않는 날짜 시간 패턴을 받고자 할 때 사용한다.
데이터 타입 사용자 정의 패턴으로 패턴은 엄격하게 지켜줘야 한다
- 사용법
@RequestParam의 전 후 아무곳에 @DateTimeFormat() annotation을 붙혀주면 된다.
@RequestParam("startDate") @DateTimeFormat(iso = ISO.DATE_TIME) LocalDate startDate
@RequestParam("endDate") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate startDate
- 예제
public void testDateFormat(@RequestParam("startDate