型「java.util.Date」の値を文字列から逆シリアル化できません。予期される形式「yyyy-MM-dd HH:mm:ss」

elementplus の el-date-picker を使用すると、バックエンドがエラーを報告します。

 解決済み [org.springframework.http.converter.HttpMessageNotReadableException: JSON 解析エラー: 文字列 "2022-09-08T00:00:00.000Z" から型 `java.util.Date` の値を逆シリアル化できません: 予期される形式 "yyyy-MM- dd HH:mm:ss"; ネストされた例外は com.fasterxml.jackson.databind.exc.InvalidFormatException です: 文字列 "2022-09-08T00:00:00.000Z" から型 `java.util.Date` の値を逆シリアル化できません: 予期される形式 "yyyy-MM-dd" HH:mm:ss"<EOL> [ソース: (org.springframework.util.StreamUtils$NonClosingInputStream); 行: 1、列: 76] (参照チェーン経由: com.aifast.domain.Application["startTime"])]

<el-date-picker
    v-model="editApplication.endTime"
    type="datetime"
    format="YYYY-MM-DD HH:mm:ss"
    placeholder="请选择结束时间"
/>

バックエンドへの注釈の追加が機能しない

 @TableField("start_time")
 @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss",locale="zh")
 private Date startTime;

次の図に示すように、フロントエンドからバックエンドに渡される値を出力します。

 見つかりましたがフォーマットされていません。

その後、elementplus el-date-picker の属性を調べたところ、 value-format属性が見つかりました。公式の説明は次のとおりです

属性名 説明する タイプ オプションの値 デフォルト
値の形式 オプション。バインドされた値の形式。指定しない場合、バインディング値は Date オブジェクトになります。 日付形式を表示する ——

後はvalue-formatを指定すれば完了です。

<el-date-picker
    v-model="editApplication.startTime"
    type="datetime"
    format="YYYY-MM-DD HH:mm:ss"
    value-format="YYYY-MM-DD HH:mm:ss"
    placeholder="请选择开始时间"
/>

おすすめ

転載: blog.csdn.net/Yajyaj123/article/details/126959172