Spring boot에서 @RequestParam으로 Date(or LocalDate, LocalDateTime)을 받는 방법에 대해 몇가지 알아본다.
@DateTimeFormat - annotation
1. 속성
•
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
}
Java
복사
•
pattern
iso 형식으로 표시되지 않는 날짜 시간 패턴을 받고자 할 때 사용한다.
데이터 타입 사용자 정의 패턴으로 패턴은 엄격하게 지켜줘야 한다
Search
2. 사용법
•
@RequestParam의 전 후 아무곳에 @DateTimeFormat() annotation을 붙혀주면 된다.
@RequestParam("startDate") @DateTimeFormat(iso = ISO.DATE_TIME) LocalDate startDate
@RequestParam("endDate") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate startDate
Java
복사
3. 예제
public void testDateFormat(@RequestParam("startDate
Java
복사