最近项目组有人问我,“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;
}
}