使用@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

​总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Maven配置文件修改及导入第三方jar包的实现

    Maven配置文件修改及导入第三方jar包的实现

    本文主要介绍了Maven配置文件修改及导入第三方jar包的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • 详解如何独立使用ribbon实现业务客户端负载均衡

    详解如何独立使用ribbon实现业务客户端负载均衡

    这篇文章主要为大家介绍了详解如何独立使用ribbon实现业务客户端负载均衡,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • java基于jedisLock—redis分布式锁实现示例代码

    java基于jedisLock—redis分布式锁实现示例代码

    这篇文章主要介绍了jedisLock—redis分布式锁实现示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Java动态数组的实现过程

    Java动态数组的实现过程

    本文介绍了如何实现一个简单的动态数组,包括基础结构设计、核心功能实现、性能分析、实现特点以及改进建议,通过这个实现,我们能够更好地理解动态数组的工作原理和核心操作
    2026-01-01
  • java获取properties属性文件示例

    java获取properties属性文件示例

    Properties类表示了一个持久的属性集。Properties可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。本文使用java读取这些属性,看下面详细介绍吧
    2014-01-01
  • 使用BufferedReader读取本地文件的操作

    使用BufferedReader读取本地文件的操作

    这篇文章主要介绍了使用BufferedReader读取本地文件的操作,具有很好的参考价值,希望对大家有所帮助。
    2021-07-07
  • Java复杂链表的复制详解

    Java复杂链表的复制详解

    复杂链表指的是一个链表有若干个结点,每个结点有一个数据域用于存放数据,还有两个指针域,其中一个指向下一个节点,还有一个随机指向当前复杂链表中的任意一个节点或者是一个空结点,我们来探究一下在Java中复杂链表的复制
    2022-01-01
  • Java实现CompletionService并发编排消费任务

    Java实现CompletionService并发编排消费任务

    RocketMQ批量拉取消息,消费端一条一条串行处理导致耗时较高,为了解决这个问题,文章提出使用CompletionService来实现并发处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-05-05
  • springMVC RequestMapping注解的实现过程

    springMVC RequestMapping注解的实现过程

    springMVC是一个实现了mvc架构模式的web框架,底层基于servlet实现,本文给大家介绍springMVC RequestMapping注解的相关知识,感兴趣的朋友跟随小编一起看看吧
    2026-02-02
  • Spring解决循环依赖的方法及三级缓存机制实践案例

    Spring解决循环依赖的方法及三级缓存机制实践案例

    Spring通过三级缓存解决单例Bean循环依赖,但无法处理构造器、prototype作用域及@Async场景,建议使用setter注入、@Lazy注解和架构优化,遵循设计原则避免依赖问题,本文介绍Spring如何解决循环依赖:深入理解三级缓存机制,感兴趣的朋友一起看看吧
    2025-09-09

最新评论