SpringMVC使用@RequestBody注解報400錯誤


原因

  1.  采用GET請求方式而不是POST請求方式。
  2. 或者是傳入的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;
}

終於解決了

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM