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");}}
学习中的记录,如果有不准确的地方望谅解,并指出谢谢