Bootstrap

ExceptionHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReada

错误提示:

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

;