token验证失败 java_“Token校验失败,请检查确认”解决方法

微信小程序后台配置消息服务器时出现Token校验失败报错。服务器端使用Java的Spring Boot框架,起初直接返回字符串仍报错,发现返回字符串会多出双引号,原因是配置的messageConvert使用FastJSON处理字符串会加引号,可加入StringHttpMessageConverter解决。

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

微信小程序后台配置消息服务器时报错:“Token校验失败,请检查确认”

d6e5838ca8df

image.png

我服务器端是用的java的springboot框架,本以为直接return字符串就可以了:

@RequestMapping(value = "/",method=RequestMethod.GET)

public String checkWeixinValid(@RequestParam(name="signature")String signature,

@RequestParam(name="timestamp")String timestamp,

@RequestParam(name="nonce")String nonce,

@RequestParam(name="echostr")String echostr){

// .......

return echostr;

}

但这样会一直报上述错误。

后来发现返回的字符串会多出俩双引号,比如: "2205560651034517463"。

找了一下原因,定位到我配置的messageConvert,使用了fastjson用来处理json。但是,当它解析一串字符串时,会加上双引号。为避免这个问题,可以在它之前加入处理字符串的convert,比如:StringHttpMessageConverter,这样字符串就不会由fsatjson再加工了。

事后总结:

找这么个问题花了我不少时间,期初我一直以为是微信服务的问题,光刷新它的页面就不下5次。

其实,微信经过这么多年大用户量的考验,它的服务已经很健壮了,有bug的情况极少。当出问题时首先还是要想是不是自己代码的问题。

从本源入手,要有怀疑精神,但是要有一定的实事依据做基础,凭空怀疑,就太武断了。

特此记录下来,吸取教训。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值