問題
Failed to convert value of type 'java.lang.String' to required type 'java.util.Date'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value '2020-12-12 12:12'; nested exception is java.lang.IllegalArgumentExceptioncss
分析
SpringMvc沒有設置日期轉換配置,直接把當成String類型強轉Date類型!java
解決方案
第一種方法:
@DateTimeFormat 日期參數格式化註解spring
@RequestMapping(value = "test") @ResponseBody public Map<String,Object> test(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE) Date date, @NumberFormat(pattern = "#,###.##")Double number){ Map<String,Object> resultMap = new HashMap<>(); resultMap.put("data",date); resultMap.put("number",number); return resultMap; }
第二種方法:
application.yml設置日期參數格式化配置:微信
spring: mvc: date-format: yyyy-MM-dd HH:mm:ss
返回格式化日期
第一種方法:
在實體類中Date屬性上標記:@JsonFormat
pattern:是你須要轉換的時間日期的格式
timezone:是時間設置爲東八區,避免時間在轉換中有偏差mvc
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") private Date updateDate;
第二種方法:
spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8
@NumberFormat 註解 支持數字類型參數格式化格式
image.png
我的微信公衆,常常更新一些實用的乾貨:app
image.png