发表于: 2017-09-25 23:42:25
1 802
今天完成的事情
1.理解短信验证码的逻辑
假设【获取短信验证码】按钮对应的URL为“/sendSMS”,当点击这个按钮后,前端控制器就会去找处理这个请求的方法,在方法中会调用第三方短信API,向注册用户填入的手机号发送短信验证码,同时在本地保留验证码,用于提交“注册”时验证用户输入的验证码和我们留存的验证码是否 一致。
2.使用容联短信服务
容联的接口文档写的很清楚,需要填的参数少,逻辑清楚,一眼就能看明白。
然后是测试类
测试结果:
输出到控制台的信息:
手机接收到的短信:
比较蛋疼的一点是,容联的测试号码只能是自己的手机号,要是输入的手机号码长度不对或者为空,都只会返回一个“该号码不是测试号码”的异常。
3.使用阿里云短信服务
阿里的短信API的实现代码封装就没容联那么厉害,很多异常要自己catch,而且代用阿里短信API的过程更像是在组装一个请求URL...
因为要用Spring管理账号信息,把调用阿里短信API要用到的账号信息变成相应工具类的字段,并给这些字段添加了setter方法:
因为有了serter方法,所以这些字段的值就实现了用Spring配置文件保存的要求:
还有一些跟demo一样的代码我不想贴了,我就提一个自己碰到的坑,花了一些时间才弄懂是怎么回事。
下面是我的短信模板:
阿里要求在代码里使用JSON格式数据去替换短信模板里的变量${code}:
图中的code是我自己定的验证码,前期打算固定使用一个验证码,后面加入项目中再采用随机的方式。
写了一个测试类,手机收到的短信:
4.对比上面两款第三方短信API
今天尝试了两款不同的短信API,两款都是收费软件,容联注册送8元代金券、短信6分钱1条,阿里云注册送10元代金券、短信4分钱1条。从性价比看是阿里云更划算些,但我感觉还是容联的API做的更成熟一些,上手非常快。
A.使用容联短信API只要照搬它的demo,修改5个参数+把SDK导入项目lib文件下,就可以直接使用了。
B.使用阿里云短信API就比较麻烦了,自己打包SDK,demo也是比较乱,刚开始有点难读懂,入参看着费劲,尤其是要用JSON替代短信模板里的变量,看了好几回才看懂。
C.但是任务要求把账号信息保存在Spring配置文件里,容联的API有个参数,只有1个有setter方法,其他4个没有,所以不能把账号信息保存在Spring配置文件里。阿里云的API的账号信息需要的参数都有setter方法,则可以用Spring管理。
遇到的问题
暂无
收获
学会查看第三方的接口文档。进入新任务的第一天效率略低,明天就能反应过来了。
打日志好处多
明天的计划
完成邮箱的demo、单元测试
进度
当前进度 步骤2
任务开始时间 2017.9.25
预计提交时间 2017.10.2
评论