整合阿里云短信进行短信发送(2) | 学习笔记

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 快速学习 整合阿里云短信进行短信发送(2)

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)整合阿里云短信进行短信发送(2)学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11445


整合阿里云短信进行短信发送(2)


内容介绍

一.Redis 解决验证码有效时间问题

二.测试阿里云短信服务功能


try {

//最终发送

CommonResponse response=client.get CommonResponse (request);

boolean success = response.getHttpResponse().isSuccess();

return success;

}catch(Exception e) {

e.print.StackTrace();

return false;

在 msm.controller 中,

手机验证码中通常有这样一句话,验证码在多少多少分钟内有效。

那在程序中应该如何表达在五分钟内有效?


一.Redis 解决验证码有效时间问题

发送成功以后,把验证码放到 redis 中,并且设置有效时间。取的时候就直接取出来,如果不能直接取,再用阿里云发送。

上次课用 redis 是为了缓存,我们这次用 redis 是为了设置有效时间,也就是说用 redis 的方式和之前相比也发生了改变。

在 string boot 整合 redis 的时候,它封装了一个对象。

@Autowired

private RedisTemplate<String,String> redisTemplate;

//发送短信的方法

@GetMapping("send/{phone}“)

public R sendMsm(@PathVariable String phone){

//1从 redis 获取验证码,如果获取到直接返回

String  code  =redisTemplate.opsForValue().get(phone) ;

if(!StringUtils.isEmpty(code)){

return R.ok();

}

//2 如果 redis 获取不到,进行阿里云发送

//生成随机值,传递阿里云进行发送

code =RandomUtil.getFourBitRandom();

Map<String,Object>param=new  HashMap<>() param.put("code",code);

//调用 service 发送短信的方法

boolean isSend = msmService.send(param,phone);

if(isSend) {

//发送成功,把发送成功验证码放到 redis 里面

//设置有效时间

redisTemplate.opsForValue().set(phone,code,I:5,TimeUnit. MINUTES);

}else{

return R.ok(); I

return R.error().message(“短信发送失败”)


二.测试阿里云短信服务功能

打开 service_msm 中的 application.properties,看到目前的端口号是8005。

在启动类 MsmApplication 中,右键点击 Run‘MsmApplication’启动 swagger 测试。

启动之后,可以看到控制台中列出发送量统计、费用统计等等。

在搜索中直接输入地址 localhost:8005/swagger-ui.html,然后按回车键进入 swagger 页面。

image.png

点击蓝色处方法进入,在 phone 处输入手机号,点击 try it out,就会把通过工具类生成的四位验证码发送到手机上,手机收到验证码后,阿里云发送量统计中会有显示。

验证码会有提示信息,前面是【】,里面是签名名称,然后是模板内容。

而后把这个功能整合到注册或登录中,在注册或登录的时候发送验证码。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
sms4j对接阿里云短信
sms4j对接阿里云短信
155 0
|
7月前
|
Java API 开发工具
Java程序如何通过阿里云OpenAPI调用短信接口
Java程序如何通过阿里云OpenAPI调用短信接口
497 1
|
9月前
阿里云短信套餐包什么意思?
阿里云短信套餐包是什么意思?短信套餐包就是一次性购买多少条的短信,然后使用时自动从短信套餐包中扣除短信数量。假设你花了6.9元购买了200条的短信套餐包,使用阿里云短信服务平台发送短信,发送了10条,就自动从这个套餐包中扣除已经使用的10条,还剩190条。
175 1
|
1月前
调用阿里云接口实现短信消息的发送源码——CSDN博客
调用阿里云接口实现短信消息的发送源码——CSDN博客
51 0
|
4月前
|
Java Maven
(短信服务)java SpringBoot 阿里云短信功能实现发送手机验证码
(短信服务)java SpringBoot 阿里云短信功能实现发送手机验证码
668 0
|
9月前
|
安全 Java API
阿里云短信介绍和购买流程和使用流程
联网时代短信的应用无处不在,如APP的注册,平时的短信通知等。 下面就由小编系统的讲解一下阿里云短信的购买和使用流程
|
9月前
2023年阿里云短信价格多少钱1条?
2023年阿里云短信价格多少钱1条?阿里云短信服务价格表,阿里云短信0.032元一条,阿里云短信价格?阿里云短信怎么收费?阿里云短信多少钱一条,阿里云短信价格0.032元一条
|
9月前
阿里云短信价格表0.032元一条
阿里云短信价格表0.032元一条,阿里云短信服务价格表,阿里云短信0.032元一条,阿里云短信价格?阿里云短信怎么收费?阿里云短信多少钱一条,阿里云短信价格0.032元一条
|
9月前
阿里云短信--0.032元/条起,99%到达率,秒级触达
阿里云短信--0.032元/条起,99%到达率,秒级触达,阿里云短信服务价格表,阿里云短信0.032元一条,阿里云短信价格?阿里云短信怎么收费?阿里云短信多少钱一条,阿里云短信价格0.032元一条
|
5月前
阿里云sms发送短信(新)
阿里云sms发送短信(新)
139 0

热门文章

最新文章