1

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、時間に使用される日付に提供されているようなプロパティをチームが追加することはありませんか?

編集:ドキュメントは、最初のアプローチを使用して新しいフォーマッタを登録するように言っています。ここではそうではないと思います。

4

0 に答える 0