原因:
- 采用GET請求方式而不是POST請求方式。
- 或者是傳入的json字符串和對應封裝的對象不對應,以及封裝的接收對象中的字段類型有沒有Date類型或者int等不是String類型。
解決方法:
方法一:將GET請求方式換成POST請求方式。
方法二:若有,則在set方法中統一將傳入的參數調整為String類型。
private Date startTime; public Date getStartTime() { return startTime; } public void setStartTime(String startTime) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { this.startTime = dateFormat.parse(startTime); } catch (ParseException e) { this.startTime = null; } }
這樣寫就可以了,不要將形參的類型寫成Date類型。
前台的ajax發送如下:
$.ajax({ type : "POST", contentType : "application/json", url : xxx,// 請求路徑 data : JSON.stringify(data),// 將data轉換為json字符串格式 success : function(result) { } });
后台接收:
@PostMapping("all") public ResultEntity fetchActive(@RequestBody ActiveReqVo reqVo){ return null; }
終於解決了