1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Java调用容联云通讯短信验证码API接口示例

Java调用容联云通讯短信验证码API接口示例

时间:2020-12-20 06:38:49

相关推荐

Java调用容联云通讯短信验证码API接口示例

1.注册账号

/doc.html

注册后点击控制台可以看到你的信息

2.添加测试号码

3.打开文档>Rest API>短信

下载Java Demo示例 下载地址

解压后将sdk(SDC/src/com/cloopen/rest)作为工具类复制到项目中![在这里插入图片描述](https://img-/112119474262.png)将lib中的httpclient.jar添加到项目lib中,或使用Maven私服依赖

4.调用

复制文档中的接口调用示例,作为Service层的send方法发送验证码@Servicepublic class SMsServiceImpl implements SMsService {@Autowiredprivate RedisAPI redisAPI;@Overridepublic boolean send(String phone) {//传入用户手机号//生成4位数随机验证码int number = new Random().nextInt((9999 - 1111 + 1) + 1111);String yzm = String.valueOf(number);CCPRestSDK restAPI = new CCPRestSDK();restAPI.init("", "8883");// 初始化服务器地址和端口,格式如下,服务器地址不需要写https://restAPI.setAccount(ACCOUNT_SID, AUTH_TOKEN);// 初始化主帐号和主帐号TOKENrestAPI.setAppId(APP_ID);// 初始化应用IDHashMap<String, Object> result = restAPI.sendTemplateSMS(phone, "1", new String[]{yzm,"2"});//参数1:用户手机号,参数2:使用的模板号,参数3:设置验证码和过期时间提示System.out.println("SDKTestSendTemplateSMS result=" + result);if("000000".equals(result.get("statusCode"))){//正常返回输出data包体信息(map)HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");Set<String> keySet = data.keySet();for (String key : keySet) {Object object = data.get(key);System.out.println(key + " = " + object);}//发送成功后将验证码存入Redis,设置2分钟的过期时间String key = "code:" + phone;redisAPI.set(key,2*60,yzm);return true;}else{//异常返回输出错误码和错误信息System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));return false;}}可参考demo中的接口调用文件:demo\src\com\cloopen\rest\demoSDKTestSendTemplateSMS.Java。

Controller方法@RequestMapping("send")//发送验证码的请求public Dto send(String phone){if (sMsService.send(phone)) {//调用发送方法并存入Redisreturn DtoUtil.returnSuccess("验证码发送成功");}return DtoUtil.returnFail("发送异常","404");}//验证用户提交的验证码@RequestMapping(value = "validatephone/{user}/{code}",method = RequestMethod.PUT)public Dto register(@PathVariable String phone,@PathVariable String code){String redisCode = sMsService.getCode(phone);//取出缓存中的验证码if (!"".equals(redisCode)) {if (redisCode.equals(code)) {//对比return DtoUtil.returnSuccess("验证成功!");} else {return DtoUtil.returnFail("验证码有误!", "401");}} else {return DtoUtil.returnFail("验证码有误!", "401");}}

学习中的记录,如果有不准确的地方望谅解,并指出谢谢

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。