做项目用户登录注册模块的时候,想要使用短信验证码的方式进行登录和注册,然后就去看了阿里云和容联云的短信服务。但是很遗憾,阿里云的短信服务目前个人申请很困难,需要很多证明;容联云目前已经不支持个人进行认证了,只支持公司进行认证。
然后就去看了腾讯云的短信服务,与前两个平台不同的地方在于,腾讯云可以通过公众号的形式进行申请签名,只需要按照提示的内容进行申请就可以了。审核不通过的话按照审核的反馈结果进行修改基本上都能通过。这里要注意,在截公众号后台管理页面的时候,一定要把信息截完整,只截一部分是通过不了审核的。申请完签名并且通过审核之后。就要申请模板了
调用api需要API秘钥,位置在
第一次进入的话是没有密钥的,需要先生成一个,生成后记录一下SecretId和SecretKey,会用到
现在就可以进行在线测试了腾讯云短信服务API测试地址
填好参数之后点击下面的发起调用
还可以查看生成的代码
在SpringBoot测试:
首先先在pom文件中引入依赖:
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>
<version>3.1.464</version><!-- 注:这里只是示例版本号(可直接使用),可获取并替换为 最新的版本号,注意不要使用4.0.x版本(非最新版本) -->
</dependency>
可以使用镜像源加速下载,编辑 maven 的 settings.xml 配置文件,在 mirrors 段落增加镜像配置:
<mirror>
<id>tencent</id>
<name>tencent maven mirror</name>
<url>https://mirrors.tencent.com/nexus/repository/maven-public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
也可以通过码云进行下载:腾讯云短信服务API依赖JAR包下载
项目结构:
配置文件application.properties:
controller:
package com.atdesign.yygh.msm.controller;
import com.atdesign.yygh.common.result.Result;
import com.atdesign.yygh.msm.service.MsmService;
import com.atdesign.yygh.msm.utils.RandomUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.concurrent.TimeUnit;
@RestController
@RequestMapping