日付変換例外の JSON 解析エラーを解決します: StringSummary から型 `java.util.Date` の値を逆シリアル化できません

歩みを積まなければ何千里もたどり着けず 小川を積まなければ川も海も作れず もがく自分へ

シーン:

フロントエンドは日付パラメーターをバックエンドに送信し、バックエンドは問題を受信します. この低レベルの問題は、発生したら要約します.

ドキュメント参照:

Spring Framework 中国語ドキュメント - Spring Framework 4.3.21.RELEASE リファレンス | Docs4dev Spring はオープン ソースの設計レベルのフレームワークであり、ビジネス ロジック層と他の層の間の疎結合の問題を解決します。インターフェイス指向のプログラミングのアイデアを使用して、システム アプリケーション全体を実行します。Spring は、2003 年に登場した軽量の Java 開発フレームワークであり、Rod Johnson によって作成されました。簡単に言えば、Spring は階層化された JavaSE/EE フルスタック (ワンストップ) 軽量オープン ソース フレームワークです。https://www.docs4dev.com/docs/zh/spring-framework/4.3.21.RELEASE/reference/

Spring 中国語公式ドキュメント - hviger - ブログ ガーデンSpring Boot 中国語ドキュメント https://www.docs4dev.com/docs/zh/spring-boot/1.5.9.RELEASE/reference Spring Framewo https://www.cnblogs.com/ Zhaojinhui/p/16963459.html

フロントエンドの日付形式: yyyy-MM-dd HH:mm:ss

 ​​​​​​

正しい方法:

方法 1: バックエンドは日付型を使用して受信します

 方法 2: バックエンドの日付型フィールドは @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") のみを使用して受信します 

進入禁止:

方法 1: @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") のみを使用してバックエンドの日付型フィールドを受け取り、要求時にエラーを直接報告します。

@DateTimeFormat アノテーションを正しく使用する

方法 1: 受信オブジェクトに @RequestBody を追加し、 @JsonFormat で使用する

 

方法 2: 受信オブジェクトは@RequestBody を追加せず、日付型フィールドは @DateTimeFormate のみを使用する

 

 注:ここで使用されるリクエスト ボディは form-date です. リクエスト ボディ json を使用する場合、次のリクエスト バックエンドの日付タイプ フィールドを使用すると、データを受け取りません

要約:

バックエンドが日付型フィールドで受信したときに、フロントエンドの日付文字列がバックエンド渡されるとき

1. 受信オブジェクトは @RequestBody と @DateTimeFormat および @JsonForma を使用します。

2. 受信オブジェクトは、@RequestBody と @JsonForma を使用して、日付文字列を日付形式に変換します。

3. 受信オブジェクトは @RequestBody で装飾する必要はありません。リクエストボディのフォームデータ型 (json 型は許可されていません) は@DateTimeFormat を渡すことができます。

日付文字列を日付形式に変換する

おすすめ

転載: blog.csdn.net/qq_38423256/article/details/128938440