SpringBoot使用PUT、DELETE、PATCH请求方式

在Restful风格的开发中,SpringBoot利用hiddenHttpMethodFilter过滤器将前端POST请求转换为PUT、DELETE、PATCH。通过在表单中添加隐藏字段`_method`,结合配置文件开启HiddenHttpMethodFilter,实现对资源的不同操作请求。
摘要由CSDN通过智能技术生成

在使用RestFul风格开发时,通过 URL 定位资源,通过HTTP请求方式表示对资源的处理方式,对应方式如下表所示。

GET 查询
POST 增加
PUT 更新
PATCH 更新(通常是部分修改)
DELETE 删除

但是,前端中表单只能发送GET、POST两种请求方式,无法发送其他三种请求。因此,必须要在后端对请求方式进行处理,转换成其他三种请求。

SpringMVC底层中提供了 hiddenHttpMethodFilter 过滤器,可以拦截HTTP请求,将POST请求转换成我们需要的请求。hiddenHttpMethodFilter 要求表单使用 POST 请求方式,同时添加参数 name = “_method”,value = “PUT/PATCH/DELETE”。表单提交之后,hiddenHttpMethodFilter 会拦截该请求,如果发现是POST请求同时有"_method"参数时,会将请求包装成我们设置的请求方式。

public class HiddenHttpMethodFilter extends OncePerRequestFilter {
   

	private static final List<String> ALLOWED_METHODS =
			Collections.unmodifiableList(Arrays.asList(HttpMethod.PUT.name(),
					HttpMethod.DELETE.name(), HttpMethod.PATCH.name()));

	/** Default method parameter: {@code _method}. */
	public static final String DEFAULT_METHOD_PARAM = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值