解決Swagger測試輸入Date類型問題

解決Swagger測試輸入Date類型問題

 Failed to convert from type [java.lang.String] to type [@io.swagger.annotations.ApiModelProperty java.util.Date] for value '2020-05-12 00:00:00'; nested exception is java.lang.IllegalArgumentException
  • swagger-ui直接輸入String類型時間,後臺接收字段爲Date類型出現jsonformat轉換異常問題解決方法如下:
    @ApiModelProperty(value = "開始時間", example = "2020-02-05 13:30:41")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    private Date fromDate;
    @ApiModelProperty(value = "結束時間", example = "2020-02-05 13:30:41")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    private Date toDate;
  • 可以使用@DateTimeFormat註解將一個字符串轉成一個Date對象,通過添加註解@DateTimeFormat來設置pattern接收時間類型格式,iso屬性可選;

小tips提醒: 從數據庫獲取時間傳到前端進行展示的時候,我們有時候可能無法得到一個滿意的時間格式的時間日期,在數據庫中顯示的是正確的時間格式,獲取出來卻變成了很醜的時間戳,@JsonFormat註解很好的解決了這個問題,我們通過使用@JsonFormat可以很好的解決:後臺到前臺時間格式保持一致的問題,其次,另一個問題是,我們在使用WEB服務的時,可能會需要用到,傳入時間給後臺,比如註冊新用戶需要填入出生日期等,這個時候前臺傳遞給後臺的時間格式同樣是不一致的,而我們的與之對應的便有了另一個註解,@DataTimeFormat便很好的解決了這個問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章