在使用 HttpClient
發送http
請求時遇到問題,請求報 400 Bad request。網上都在說下面這兩個原因。
400 是 HTTP 的狀態碼之一,主要有兩種形式:
1、bad request:意思是 "錯誤的請求";
2、invalid hostname:意思是 "不存在的域名"。
解釋:
400 Bad Request 是由於明顯的客戶端錯誤(例如,格式錯誤的請求語法,太大的大小,無效的請求消息或欺騙性路由請求),服務器不能或不會處理該請求。
在 ajax 請求后台數據時比較常見。產生 HTTP 400 錯誤的原因有:
1、前端提交數據的字段名稱或者是字段類型和后台的實體類不一致,導致無法封裝;如需要 int,客戶端傳的是 String
2、前端提交的到后台的數據應該是 json 字符串類型,而前端沒有將對象轉化為字符串類型;
解決方法:
1、對照字段名稱,類型保證一致性
2、使用 stringify 將前端傳遞的對象轉化為字符串:即 data: JSON.stringify(param);