Spring Boot @DeleteMapping

Posted 边见众生,边见自己

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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, 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);
}

参考:https://blog.csdn.net/liuyuanjiang109/article/details/78972644

以上是关于Spring Boot @DeleteMapping的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Spring Boot 应用程序 pom 同时需要 spring-boot-starter-parent 和 spring-boot-starter-web?

《02.Spring Boot连载:Spring Boot实战.Spring Boot核心原理剖析》

spring-boot-quartz, 依赖spring-boot-parent

spring-boot系列:初试spring-boot

Spring Boot:Spring Boot启动原理分析

Spring Boot:Spring Boot启动原理分析