当前位置:首页 > 天道酬勤 > 正文内容

java spring mvc(springmvc理解)

张世龙2021年12月21日 10:45天道酬勤630

上一节介绍了验证开发者服务器的步骤,但是官方提供的只是php部分的源代码,所以对于不知道php的服务器的导入可能不知道如何应对。 为此,我写了java验证服务器的源代码。 今天继续开发微信公众号,取得token。 如果对我的文章感兴趣的话,请订阅我的标题号码。 有点热。 www.yeehot.com

上一节文章很快进入门口

java使用spring mvc开发wechat公众号,验证开发者步骤

关于构建spring mvc的maven项目,也可以恢复以前的文章,但在此不链接。

其实在java开发中使用maven和gradle真的是常有的事。 如果不明白的话真的会回到我之前的文章。

今天我们来谈谈微信公众号token的获取

根据Wechat公众号的文章,token是全球访问数据的唯一门票,其实和我们的密码和session一样。 我们可以拿着这个数据访问开放的接口数据,但是有问题。 这个token的有效期是两个小时。 一定要在过期之前更新这个token,然后Wechat给我们提示的是,更新token的操作将在一个中央控制服务器上更新。 而且,这个中央控制服务器实际上是定时的服务器,每隔一定的频率进行更新。 本部分不介绍。 主要说明token的取得。

获取token的接口

http请求方式: GET

359 API.Weixin.QQ.com/CGI-Bin/Token? grant _ type=客户端_身份证明应用程序=应用程序集=应用程序集

固定使用grant_type和client_credential类型。 appID和secret是我们公众号后台的appID和私钥,我们可以在后台得到。 下图:

由于需要使用get请求获取token,所以服务器也需要http连接。 这里不使用Apachehttp客户端,而是使用其他okhttp来实现网络连接。 主要是我之前的安卓项目也用过这个,没关系。 简单易用。

我们用maven下载okhttp。 如果不知道maven的使用方法,自己下载okhttp.jar包放入自己的项目就可以了。

! --https://mvn存储库.com/artifact/com.square up.ok http/ok http-- -

从属关系

groupid com.square up.ok http/groupid

artifactIdokhttp/artifactId标识

版本2.7.5 /版本

/从属关系

下载完成后,将显示okhttp相关的软件包

这个时候我们可以写控制器

下面对控制器进行说明。 需要配置三个参数: appid、secret和grant_type。 token的网址为https://API.weixin.QQ.com/CGI-bin/token,请求地址为geen。具体的源代码如下。

@Controller

公共类令牌控制器{2}

私有静态字符串应用程序='你的应用程序将在微信公众号的后台获取';

专用静态字符串secret='您的私钥将在Wechat公众号的后台获取';

私有身份认证类型='客户端身份认证';

私有建筑隧道=' https://API.weixin.QQ.com/CGI-bin /托克恩';

//http请求方式: GET

//https://API.weixin.QQ.com/CGI-Bin/Token? grant _ type=客户端_身份证明应用程序=应用程序集=应用程序集

@响应主体

@ request mapping (值='/wx/token ',方法=请求方法. get ) )。

公共字符串获取器

MapString,String param=新的hashmap string,string (;

param.put (授权类型,)客户端身份凭证);

param.put (应用程序标识)、应用程序标识);

param.put('secret ',secret );

param.put (授权类型),授权类型);

ohttpclientclient=newokhttpclient (

stringbuilder sb=新stringbuilder (;

int密钥长度=0;

for (字符串键: param.keyset () ) ) ) ) ) ) ) ) ) ) ) ) )。

if (键连接器. size ((-1 ) ) ) )。

sb .应用程序(关键字) .应用程序('=' ) .应用程序),参数(关键字) ) .应用程序),' );

}

else {2}

sb .应用(密钥) .应用('=' ) .应用)密钥);

}

钥匙长度;

}

string URL=东京URL '? 字串(;

系统输出打印(URL;

请求请求=新建请求. builder (

. URL (网址) )。

. get ()。

. build (;

响应响应=空值;

特里

响应=客户端.新呼叫(请求) .执行);

}catch(ioexceptione ) {

e .打印堆栈跟踪(;

}

if (响应!=空值) {

特里

字符串resstr=响应.主体() .字符串);

response.body () .克罗斯);

返回恢复器;

}catch(ioexceptione ) {

e .打印堆栈跟踪(;

返回空值;

}

} else {

返回空值;

}

}

}

为了验证我们写的代码是否正确,我们需要在本地进行测试和输入

358本地主机:8080//wx /东京

可以看到从Wechat服务器回复给token的信息,其中也可以看到7200这个数值。

这个单位是秒。

也就是说,7200 (秒(/(60*60 )=2小时)。 token的有效时间是两个小时。

今天到此为止,请继续关注我。 我的头条号,有点热。 www.yeehot.com

有问题欢迎留言咨询,欢迎转发和收藏。 转载到其他地方的话,请联系我。

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/26260.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。