java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > @RequestParam接受JSON的字符串

使用@RequestParam接受JSON的字符串方式

作者:心慌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

​总结

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

您可能感兴趣的文章:
阅读全文