欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

我遇到过的坑-Spring 使用form发送put,delete请求

程序员文章站 2022-07-15 13:25:53
...

问题描述

在进行REST风格开发时,想要支持GET、POST、PUT和DELETE四种请求方法,但是form只能发送put,post请求;
在Spring Boot早期版本中,可以使用配置web.xml

<filter>  
    <filter-name>HiddenHttpMethodFilter</filter-name>  
    <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>  
</filter>  

<filter-mapping>  
    <filter-name>HiddenHttpMethodFilter</filter-name>  
    <servlet-name>springmvc</servlet-name>  
</filter-mapping>     

但是现在的spring boot已经不支持web.xml了!!!

解决方法

  1. 在form表单中添加<input type=“hidden” name="_method" value=“PUT”>
  2. 在application.properties中加spring.mvc.hiddenmethod.filter.enabled=true,使拦截器生效,之后就可以识别_method

还有一种解决方法就是@Configuration;
new一个FilterRegistrationBean(new HiddenHttpMethodFilter())之后@Bean