Spring Boot实践--PUT请求不能接收到参数的问题

本文讲述了在Spring Boot和Spring MVC中遇到PUT请求参数接收为空的问题,分析了原因在于Spring默认不处理PUT请求体中的参数。提出了两种解决方式,一种是使用`HttpPutFormContentFilter`替换`HiddenHttpMethodFilter`,另一种是在控制器方法上添加`@RequestBody`注解。通过这两种方法可以成功接收PUT请求的参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介:

项目改造了下框架,把控制器的API全部REST化,不做不知道,SpringMVC的REST有各种坑让你去跳,顺利绕过它们花了我不少时间,这次来提下SpringMVC的PUT提交参数为null的情况。

不过发现了一个很好玩的现象:就是当PUT参数接收为空的时候,前台是正确传值,后端接收对象映射不上,即为空,通过打印:request.getInputStream流里的内容,发现是有参数的,就是没有映射进来,其实是:spring默认没有开启。

1:JSON提交方式: Content-Type:application/json

   后端:对象接收:除了:get请求,不需要增加@ReqeustBody注解,其它的都需要。

            参数接收:使用:@RequestParam 或者不用。

 使用这种请求: 其它后端同事开发的时候:客户端(SOAP)模拟请求时,有了@ReqeustBody参数接收不到,于是去掉,前端开发时,更新代码又加上。因为公司网不能下载插件,后换成了:form表单提交。

2:form表单提交方式:Content-Type:application/x-www-form-urlenco

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值