使用@RequestParam接受JSON的字符串方式
更新时间:2025年10月17日 09:29:24 作者:心慌ii
@RequestParam用于接收URL参数或表单数据,不能直接接收JSON字符串,需将JSON作为字符串参数传递;前端可将JSON序列化后通过表单或URL提交,后端用@RequestParam接收并手动解析,若需直接接收JSON对象,推荐使用@RequestBody
@RequestParam
1.用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容。
(Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型)
@RequestParam可以接受简单类型的属性,也可以接受对象类型。
2.用来处理 multipart/form-data (表单上传的)
如何使用@RequestParam 接受JSON的字符串
- 前端代码
const message = {
"data": {
"userInfo": "2804951212",
"offerId": offerId,
"action": "distribution",
"categoryNav": categoryNav
},
"gmtBorn": time,
"msgId": time,
"type": "PRODUCT_COLLECTION",
"userInfo": "chrome"
};
$.ajax({
contentType :'application/x-www-form-urlencoded',
type:'post',
url: baseUrl+'/ali-receive',
data:"message="+JSON.stringify(message)
});
- 后端代码
@PostMapping("/ali-receive")
public void aliReceive(@RequestParam("message") String message) {
ReceiveLog receiveLog = JSON.parseObject(message, ReceiveLog.class);
}
@RequestBody
一般用来处理 Content-Type: 为application/json
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
java基于jedisLock—redis分布式锁实现示例代码
这篇文章主要介绍了jedisLock—redis分布式锁实现示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-11-11
Java实现CompletionService并发编排消费任务
RocketMQ批量拉取消息,消费端一条一条串行处理导致耗时较高,为了解决这个问题,文章提出使用CompletionService来实现并发处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2026-05-05
springMVC RequestMapping注解的实现过程
springMVC是一个实现了mvc架构模式的web框架,底层基于servlet实现,本文给大家介绍springMVC RequestMapping注解的相关知识,感兴趣的朋友跟随小编一起看看吧2026-02-02


最新评论