前端代码如下:
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可以没有,但是类型不能错。(前后端的)这两个对象的类型中字段个数可以不全等,但是相同字段名对应的类型一定要一致!