错误提示:
ExceptionHandlerExceptionResolver : Resolved
[org.springframework.http.converter.HttpMessageNotReadableException: Required request body
is missing: public com.woniu.bean.Result
com.woniu.controller.BuildingController.deleteBuilding(java.util.List)]
翻译一下:代码提示的意思是无法解析前端发送的数据。
找错:
后端:请求体映射和请求体都写了,怀疑是前端的问题。前端:
前端我采取了axios的简化写法发送数据,感觉是这个写法发送数据导致,后端无法识别
axios.delete("http://localhost:8080/buildingServe",arr)
.then(resp=>{
if(resp.data.code===20021){
console.log(resp.data);
// 进行页面刷新
this.findBuildingPage(this.currentPage,this.pageSize);
this.$message({
showClose: true,
message: '删除成功'
});
}else{
console.log(resp.data);
this.$message({
showClose: true,
message: '删除失败',
type: 'error'
});
}
})
采用非简化的形式发送一下,发现删除成功
axios({
method:"DELETE",
url:"http://localhost:8080/buildingServe",
data:arr,
}).then(function (resp) {
if(resp.data.code===20021){
console.log(resp.data);
// 进行页面刷新
this.findBuildingPage(this.currentPage,this.pageSize);
this.$message({
showClose: true,
message: '删除成功'
});
}else{
console.log(resp.data);
this.$message({
showClose: true,
message: '删除失败',
type: 'error'
});
}
})
解决方法:
方法一:
简化的方式写axios,但是请求方式变为post,后端的映射也改为post
axios.post("http://localhost:8080/buildingServe",arr)
.then(resp=>{
if(resp.data.code===20021){
console.log(resp.data);
// 进行页面刷新
this.findBuildingPage(this.currentPage,this.pageSize);
this.$message({
showClose: true,
message: '删除成功'
});
}else{
console.log(resp.data);
this.$message({
showClose: true,
message: '删除失败',
type: 'error'
});
}
方法二:使用普通写法撰写axios