前端代碼如下:
export const apiStopDebug = (data = {}) => new Promise((resolve, reject) => {
try{
request.post(`/adminserver/rtmonitor/stopapidebug`, data, { headers: { 'Content-Type': 'application/json' } })
.then((res) => {
resolve(res);
}).catch((err) => {
if (err.message.indexOf('404') > -1) {
// 返回 mock 數據
resolve(mockData.saveFormData);
} else {
reject(err);
}
})
} catch (error) {
reject(error);
}
});
後端代碼如下接口路徑省略部分:
@RequestMapping(value = "/stopapidebug", produces = {"application/json;charset=utf-8"})
public String stopApiDebug(@RequestBody KelaMonitorVo kelaMonitorVo, HttpServletRequest request) {
KelaCommonRes kelaCommonRes = kelaDwsApiService.stopDebugApi(kelaMonitorVo);
return JSON.toJSONString(kelaCommonRes);
}
前端請求時報出如題的異常,仔細查看代碼,並沒有找出有什麼不對。
前端查看調試,發現data這個對象中有一個字段爲array類型,但是kelaMonitor中對應的字段爲String類型,導致出現該異常。
總結:data中的字段,kelaMonitor可以沒有,但是類型不能錯。(前後端的)這兩個對象的類型中字段個數可以不全等,但是相同字段名對應的類型一定要一致!