1.問題描述
通路的位址是:http://localhost:8080/XXX/addUser
先看浏覽器通路效果:

前背景都未報錯:
在浏覽器位址欄輸入url:http://localhost:8080/XXX/addUser?username=xiaoming&birth=2019-05-03
浏覽器狀态碼為400。
2.發現問題
解釋一下狀态碼400的含義:
于是我嘗試分别傳不同的參數,終于發現問題是前端向後端傳遞的是日期字元串,背景接參數的birth字段是Date類型,也就是前台傳的日期字元串跟背景Date類型的屬性不能正确綁定,是以才出現上述問題。
之前前台為了擷取日期字元串,使用了@JsonFormat注解。
3.解決方法
添加@DateTimeFormat(pattern="yyyy-MM-dd")注解。
4.總結
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")的作用是使背景向前台傳遞Date類型的參數時,将Date類型轉換為日期字元串。
@DateTimeFormat(pattern="yyyy-MM-dd") 的作用是使背景接收前台的日期字元串,将日期字元串轉換為Date類型對象。