@RequestBody 接收后为空,微信小程序

在对接微信小程序接口时,遇到@RequestBody接收的userInfo总是为空的问题。尝试了多种网上解决方案,如HTTP/HTTPS请求、POST方法、Content-Type为application/x-www-form-urlencoded以及使用@JsonProperty注解,但未见效。最终发现,问题在于请求的Content-Type应为application/json,而小程序端需将对象通过JSON.stringify转换为JSON格式发送,这样才能成功接收。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

@ApiOperation(value = "登录")
@IgnoreAuth
@PostMapping("login_by_wechat")
public Object loginByWeChat(@RequestBody LoginInfo userInfo,HttpServletRequest request) {
}

对接微信小程序接口,发现不管咋整,userInfo 中各个属性始终是null,网上查了解决方案有
1 这是一个HTTP/HTTPS请求
2 请求方法是POST(querystring无论是否POST都将被设置到parameter中)
3 请求的类型(Content-Type头)是application/x-www-form-urlencoded
4、LoginInfo 各个属性的set方法上@JsonProperty(value=“XXXX”)
试了发现各种都不行 主要看请求的类型(Content-Type头)是application/json 也没朝前端传递来的是否是json方向考虑
最终解决:
小程序端传递来的 对象 加上 JSON.stringify(对象),只有通过 JSON.stringify转成json才能接收

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值