Spring Boot에서 '@DateTimeFormat' 패턴을 글로벌하게 구성하는 방법은?
나는 내 Spring Boot 애플리케이션이며, 쿼리 매개 변수로 날짜를 받아들이는 일부 컨트롤러가 있습니다.
@RestController
public class MyController {
@GetMapping
public ResponseEntity<?> getDataByDate(
@RequestParam(value = "date") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
final LocalDate date) {
return ResponseEntity.ok();
}
}
이것은 잘 작동하고, 나는 심지어 파라미터를 선택적으로 표시할 수 있습니다.@RequestParam(value = "date", required = false)
그 다음에 a를 사용합니다.Optional<LocalDate>
. 스프링은 이 모든 것을 처리하고 파라미터가 누락된 경우 빈 Optional(선택사항)을 전달합니다.
날짜를 쿼리 매개 변수로 사용하는 컨트롤러가 여러 개 있으므로 모두에게 이 동작을 구성합니다.LocalDate
쿼리 매개 변수입니다.나는 시도해봤습니다.spring.mvc.date-pattern
재산이지만, 그것은 단지 그에게 효과가 있는 것처럼 보입니다.java.util.Date
.
그래서 웹을 검색한 결과, 제가 생각해낸 최고의 것은.ControllerAdvice
저는 이 답변에서 채택했습니다.이 솔루션의 문제는 처리할 수 없다는 것입니다.Optional<LocalDate>
더이상.Spring Boot에서 동작을 구성하는 방법이 잘못된 것 같습니다.
그래서 제 질문은:패턴을 전체적으로 구성하려면 어떻게 해야 합니까?LocalDate
Spring Boot에서 관용적인 방식으로 쿼리 매개변수로 사용되는 경우?
현재는 이 작업을 쉽게 수행할 수 없습니다(예: 간단한 구성 속성 설정). #5523을 참조하십시오.내가 지금까지 찾은 가장 좋은 해결책은 a를 등록하는 것입니다.Formatter<LocalDate>
. 다음과 같이 모델링된 옵션 파라미터에서도 작동합니다.Optional<LocalDate>
:
@Bean
public Formatter<LocalDate> localDateFormatter() {
return new Formatter<LocalDate>() {
@Override
public LocalDate parse(String text, Locale locale) throws ParseException {
return LocalDate.parse(text, DateTimeFormatter.ISO_DATE);
}
@Override
public String print(LocalDate object, Locale locale) {
return DateTimeFormatter.ISO_DATE.format(object);
}
};
}
#9930의 내 제안이 병합되었을 때 구성 속성을 사용하여 이를 설정하는 것이 있습니다.
spring.mvc.format.date를 사용할 수 있습니다.spring.mvc.format.time
그리고.spring.mvc.format.date-time
예를 들어,
spring.mvc.format.time=HH:mm:ss
spring.mvc.format.date=iso
spring.mvc.format.date-time=iso-offset
위의 예와 같이 단축키를 사용할 수 있습니다.iso
а드iso-offset
스프링부츠 2.4.1부터
@britter: 감사합니다.
spring.mvc.date-format= # Date format to use. For instance, dd/MM/yyyy
Spring Boot 2.1.0.x와 잘 작동함
# SPRING MVC(WebMvcProperties) 속성 참조.
업데이트: 하지만 Spring Data Rest Param에서는 작동하지 않습니다.
언급URL : https://stackoverflow.com/questions/45440919/how-to-globally-configure-datetimeformat-pattern-in-spring-boot
'programing' 카테고리의 다른 글
JQuery에 추천하는 자바스크립트 HTML 템플릿 라이브러리? (0) | 2023.09.26 |
---|---|
PHP의 preg_match_all()과 유사한 자바스크립트의 regex와 다중 발생을 일치시키는 방법은 무엇입니까? (0) | 2023.09.26 |
워드 프레스 페이지에서 "http"를 "https"로 모두 변경 (0) | 2023.09.26 |
.prop('checked', false) 또는 .removeAtr('checked')? (0) | 2023.09.26 |
$q 약속 오류 콜백 체인 (0) | 2023.09.26 |