Лучшая практика для установки форматера LocalTime в ISO - PullRequest
0 голосов
/ 11 мая 2018

После поиска и поиска в исходном коде Spring я обнаружил, что могу настроить форматировщик LocalTime по умолчанию для всего приложения (в основном для использования в параметрах запроса) одним из двух способов (оба подклассами для WebMvcConfigurer:

@Override
public void addFormatters(FormatterRegistry registry) {
    registry.addFormatterForFieldType(LocalTime.class,
            (object, locale) -> ISO_LOCAL_TIME.format((LocalTime) object),
            (text, locale) -> LocalTime.parse(text));
}

Другой способ - переопределить сам DateTimeFormatterRegistrar и попросить себя использовать формат iso:

@Override
public void addFormatters(FormatterRegistry registry) {
    DateTimeFormatterRegistrar dateTimeFormatterRegistrar = new DateTimeFormatterRegistrar();
    dateTimeFormatterRegistrar.setUseIsoFormat(true);
    dateTimeFormatterRegistrar.registerFormatters(registry);
}

Какой из них считается наилучшей практикой, и команда Spring не добавит свойствокак тот, который предоставлен для даты spring.mvc.date-format, которая будет использоваться для времени?

Edit: doc говорит использовать первый подход для регистрации нового форматера; я думаю, что это не тот случай.

...