QueryDSL残りのエンドポイントに渡されたときのSpringのLocalDateTime(jsr310)のデフォルトフォーマットを設定します
と組み合わせて使用すると、ユーザーがURLの日付をリクエストパラメータとして渡すときにデフォルトのjava.time.LocalDateTime
フォーマットを調べようとしています
私はQuerydslPredicateArgumentResolver
を見て、そしてDateTimeFormatterRegistrar
で終わると、デフォルトから読むことを発見した:だから
private DateTimeFormatter getFormatter(Type type) {
DateTimeFormatter formatter = this.formatters.get(type);
if (formatter != null) {
return formatter;
}
DateTimeFormatter fallbackFormatter = getFallbackFormatter(type);
return this.factories.get(type).createDateTimeFormatter(fallbackFormatter);
}
private DateTimeFormatter getFallbackFormatter(Type type) {
switch (type) {
case DATE: return DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT);
case TIME: return DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT);
default: return DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);
}
}
、デフォルト値は短くする必要があります、しかし、それは期待通りに動作していないようです。
また、フォーマットをオーバーライドする方法をアプリケーション全体(フィールド固有の@DateTimeFormat
のアノテーションを使用していない)