解決@RequestBody搭配@Data的大坑

@RequestBody搭配@Data的坑

如果用@Data修飾實體類,裡面的屬性最好不要用連續幾個相同字母,如果用千萬別用大寫。

比如下面這個User類

@Data
public class User{
    private Integer userId;
    private String tel;
    private String QQ;
}

如果這樣寫,你在後臺方法用@RequestBody獲取到的QQ會變成null

@PostMapping(value = "/addPrivGroup")
public String addUser(@RequestBody User user){
    return userService.addUser(user);
}

如果非要寫QQ或者qQ,要麼不用@Data自己寫getter和setter,要麼在對應屬性上加上@JsonProperty(value = “QQ”)

主要原因就是spring在接受參數的時候,不知道賦值方法是setQQ還是setqQ,導致賦值為null

@requestbody,json,Date類型轉換問題

@requestbody接收json參數 映射到 實體類中 Date(時間日期)類型轉換問題

app在傳輸Date類型數據時,與後臺接收有8小時時間差

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

timezone主要解決“8小時”問題

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: