Spring ソース コードを検索して調べたところ、アプリケーション全体のデフォルトの LocalTime フォーマッタ (主にリクエスト パラメータで使用するため) を 2 つの方法のいずれかで構成できることがわかりました (どちらも のサブクラスによってWebMvcConfigurer
:
@Override
public void addFormatters(FormatterRegistry registry) {
registry.addFormatterForFieldType(LocalTime.class,
(object, locale) -> ISO_LOCAL_TIME.format((LocalTime) object),
(text, locale) -> LocalTime.parse(text));
}
もう 1 つの方法は、DateTimeFormatterRegistrar
それ自体を再定義し、iso 形式を使用するように要求することです。
@Override
public void addFormatters(FormatterRegistry registry) {
DateTimeFormatterRegistrar dateTimeFormatterRegistrar = new DateTimeFormatterRegistrar();
dateTimeFormatterRegistrar.setUseIsoFormat(true);
dateTimeFormatterRegistrar.registerFormatters(registry);
}
どれがベスト プラクティスと考えられておりspring.mvc.date-format
、時間に使用される日付に提供されているようなプロパティをチームが追加することはありませんか?
編集:ドキュメントは、最初のアプローチを使用して新しいフォーマッタを登録するように言っています。ここではそうではないと思います。