最近项目组有人问我,“springboot怎么接受不到前端提交的PUT和DELETE请求?”
于是有了这篇文章,本篇文章主要解决两个问题:

  • js好像只能提交GET、POST请求耶?怎么提交PUT DELETE请求?
  • 如何将前端提交的PUT、DELETE请求与server端对接上?

问题1解决方案:
在ajax中发送POST请求,带上_method参数,_method值为PUT或者DELETE
实例:

$.ajax({
    url:"",
    type:"POST",
    data:{
      _method:"PUT"
      },
    success:function(data){...}
 })

问题2解决方案:
配置HiddenHttpMethodFilter
实例:

@Configuration
public class HttpRequestConfig {
    @Bean
    public HiddenHttpMethodFilter hiddenHttpMethodFilter() {
        HiddenHttpMethodFilter hiddenHttpMethodFilter = new HiddenHttpMethodFilter();
        hiddenHttpMethodFilter.setBeanName("HiddenHttpMethodFilter");
        hiddenHttpMethodFilter.setMethodParam("_method");
        return hiddenHttpMethodFilter;
    }
}

王杰
4 声望0 粉丝

走过一场春秋,收起我的不吐不快,终于尘埃落定!