Spring Boot @DeleteMapping
使用DELETE方式进行交互
说明:ResponseData为自定义返回体{String code, String msg, List<?> data}
PollutionData 为一个entity 属性部分包含{String id, String name}
CodeEnum、MsgEnum为自定义枚举类,定义了一些常量
两种方式皆测试过
环境:win7+idea2018.2+jdk10.0.2+springboot 前端编辑工具为hbuilder
两种方式:
1、
//方法一 使用POST+ _method:"DELETE" + filter(springboot不需要我们配置)
//这里的传输对象为json对象,后台直接接受
var r=confirm("方法一:确认删除该条数据?");
if(r){
//var data = {_method:"DELETE", id:"456456",name:"征集"};
var data = {_method:"DELETE"};//_method:"DELETE"必须,其他属性看你需求
$.ajax({
url:"http://192.168.2.116:8080/pollution/delete/1786vdsds863",
type:"POST",
data:data,
dataType:"json",
success:function(result){
alert(result.msg);
}
});
}
@DeleteMapping("/pollution/delete/{id}")
public ResponseData deletePollutionById(@PathVariable("id")String id, @RequestBody PollutionData data){
System.out.println(id);
System.out.println(data);
return new ResponseData(CodeEnum.SUCCESS.getCode(),MsgEnum.SUCCESS.getMsg(),null);
}
2、//方法二 使用DELETE请求
//这是的传输对象为json字符串 后台使用@RequestBody注解解析该字符串并将字符串映射到对应实体上
var r=confirm("方法二:确认删除该条数据?");
if(r){
var id = "123133";
var jsonstr = { id: id,
name: "12345"};
console.log(jsonstr);
$.ajax({
url:"http://192.168.2.116:8080/pollution/delete/" + id,
type:"DELETE",
contentType:"application/json",//设置请求参数类型为json字符串
data:JSON.stringify(jsonstr),//将json对象转换成json字符串发送
dataType:"json",
success:function(result){
alert(result.msg);
}
});
}
/**如果不需要传递参数,可以不写下面的几项
* contentType:"application/json",//设置请求参数类型为json字符串
data:JSON.stringify(jsonstr),//将json对象转换成json字符串发送
dataType:"json",
*/
@DeleteMapping("/pollution/delete/{id}")
public ResponseData deletePollutionById(@PathVariable("id")String id, @RequestBody PollutionData data){
System.out.println(id);
System.out.println(data);
return new ResponseData(CodeEnum.SUCCESS.getCode(),MsgEnum.SUCCESS.getMsg(),null);
}