@RequestBody搭配@Data的坑
如果用@Data修飾實(shí)體類,里面的屬性最好不要用連續(xù)幾個(gè)相同字母,如果用千萬別用大寫。
比如下面這個(gè)User類
1
2
3
4
5
6
|
@Data public class User{ private Integer userId; private String tel; private String QQ; } |
如果這樣寫,你在后臺(tái)方法用@RequestBody獲取到的QQ會(huì)變成null
1
2
3
4
|
@PostMapping (value = "/addPrivGroup" ) public String addUser( @RequestBody User user){ return userService.addUser(user); } |
如果非要寫QQ或者qQ,要么不用@Data自己寫getter和setter,要么在對(duì)應(yīng)屬性上加上@JsonProperty(value = “QQ”)
主要原因就是spring在接受參數(shù)的時(shí)候,不知道賦值方法是setQQ還是setqQ,導(dǎo)致賦值為null
@requestbody,json,Date類型轉(zhuǎn)換問題
@requestbody接收json參數(shù) 映射到 實(shí)體類中 Date(時(shí)間日期)類型轉(zhuǎn)換問題
app在傳輸Date類型數(shù)據(jù)時(shí),與后臺(tái)接收有8小時(shí)時(shí)間差
1
2
3
|
@JsonFormat (pattern= "yyyy-MM-dd HH:mm:ss" ,timezone= "GMT+8" ) @DateTimeFormat (pattern= "yyyy-MM-dd HH:mm:ss" ) private Date departureTime; |
timezone主要解決“8小時(shí)”問題
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/qq_38216502/article/details/109465481