form表单使用put方式提交

📅 2025-09-14 00:13:28 ✍️ admin 👁️ 5569 ❤️ 387
form表单使用put方式提交

form表单的提交方式只支持GET或者POST,为了实现restful风格,需要使用form表单实现PUT和DELETE方式的提交,对于这种情况,spring提供了过滤器 HiddenHttpMethodFilter ,可以将POST方式提交的表单转换成PUT或者DELETE。

案例环境:

springboot 2.4.3

IntelliJ IDEA 2021.1 (Ultimate Edition)

Google Chrome版本 89.0.4389.114(正式版本)

过滤器 HiddenHttpMethodFilter 在springboot中配置在自动配置类WebMvcAutoConfiguration中:

@Bean

@ConditionalOnMissingBean(HiddenHttpMethodFilter.class)

@ConditionalOnProperty(prefix = "spring.mvc.hiddenmethod.filter",

name = "enabled", matchIfMissing = false)

public OrderedHiddenHttpMethodFilter hiddenHttpMethodFilter() {

return new OrderedHiddenHttpMethodFilter();

}

OrderedHiddenHttpMethodFilter继承自HiddenHttpMethodFilter,然后看HiddenHttpMethodFilter的源码:

public static final String DEFAULT_METHOD_PARAM = "_method";

private String methodParam = DEFAULT_METHOD_PARAM;

@Override

protected void doFilterInternal(HttpServletRequest request,

HttpServletResponse response