@DateTimeFormat
アノテーションを使用して実際には存在しない日付の変換に問題があります。例えば@DateTimeFormat変換時に夏時間エラーが発生する
、私は日付15/10/2017を設定し、私のエンティティ内の注釈は以下の通りであると:
@Column(nullable = false)
@NotNull
@DateTimeFormat(pattern = "dd/MM/yyyy")
private Date dataVisita;
私はエラーが表示されます。
Failed To Convert Property Value Of Type Java.Lang.String To Required Type Java.Util.Date For Property DataVisita;
Nested Exception Is Org.Springframework.Core.Convert.ConversionFailedException:
Failed To Convert From Type Java.Lang.String To Type @Javax.Persistence.Column @Javax.Validation.Constraints.NotNull @Org.Springframework.Format.Annotation.DateTimeFormat Java.Util.Date For Value 15/10/2017;
Nested Exception Is Java.Lang.IllegalArgumentException:
Cannot Parse "15/10/2017": Illegal Instant Due To Time Zone Offset Transition (America/Sao_Paulo)
私は理解していることエラーは私に、15/10/2017 00:00:00
という日付は実際には存在しませんが、私は15/10/2017 01:00:00
に変換して、このように問題を無視し、通信相手の日付を見つけることを望んでいます。
@DateTimeFormat
アノテーションをオーバーライドする方法や、フォーマッタを寛容にする方法がありますか?
「あなたが言うことを意味して、何を言っているのか」現在、日付と時刻を表すオブジェクトに日付を入れようとしています。あなたはLocalDateを使うことができますか?またはDateを使っていませんか? – mpkorstanje
カスタムデシリアライザを作成できます。 AFAIRそれはボンネットの下でジャクソンを使用します。 'JsonDeserialize'アノテーションが役立つはずです。 [Jackson-Deserializationの例](http://www.baeldung.com/jackson-deserialization) –
'@DateTimeFormat(iso = ISO.DATE_TIME)'を使用しようとすると、文字列の時間が無視されません –