SpringBoot整合第三方接口:整合阿里云短信服务实现短信发送 手机号验证功能

5 篇文章 0 订阅
3 篇文章 0 订阅

短信服务平台有很多 大家可以根据自己的需求随意选择.整合方式也是大同小异
本文以阿里云短信服务平台为例.
具体分为以下几个步骤:

登录/注册阿里云平台 进入短信服务控制台

前往 https://www.aliyun.com/ 登录.

搜索短信服务 点击进入短信控制台

在这里插入图片描述

如果之前没有开通过短信服务 这里需要开通 开通之后就可以进入了

申请短信签名和短信模板

点击左侧的国内消息 首先添加一个签名 点击添加签名
个人用户可以申请一条验证码签名 根据自己的需求申请
申请之后需要审核
推荐使用真实的项目名称 最好附带上线运营的域名 会更容易通过.

在这里插入图片描述
申请签名之后 这里我们申请一个模板 点击添加模板 申请之后等待审核通过即可.

在这里插入图片描述
短信签名和模板都通过之后 我们就来生成配置类的代码.

生成API Demo

点击快速学习 找到下边的蓝色按钮 点击 查看API Demo
在这里插入图片描述
选择SendSms 然后填好对应的参数即可 其他不必要的参数可以留空.
在这里插入图片描述

这里代码生成完毕之后 我们就可以进入项目来整合了.

创建SpringBoot项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

引入依赖 阿里云Sms Sdk

        <!--阿里云短信服务sdk-->
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.5.1</version>
        </dependency>

编写工具类

创建一个工具类
在这里插入图片描述

将我们刚才在阿里云生成的API Demo代码复制过来
如果你没有在API Demo中生成 那么你复制下面的代码过去也可以. 改一下参数就ok了

 public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");
        IAcsClient client = new DefaultAcsClient(profile);

        CommonRequest request = new CommonRequest();
        request.setSysMethod(MethodType.POST);
        request.setSysDomain("dysmsapi.aliyuncs.com");
        request.setSysVersion("2017-05-25");
        request.setSysAction("SendSms");
        request.putQueryParameter("RegionId", "cn-hangzhou");
        request.putQueryParameter("PhoneNumbers", "接收短信的手机号码");
        request.putQueryParameter("SignName", "短信签名名称");
        request.putQueryParameter("TemplateCode", "短信模板ID");
        request.putQueryParameter("TemplateParam", "短信模板变量对应的值 JSON格式");
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }

这里我们填写参数的时候 下边的参数都可以根据自己的实际情况填写
但是

  DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");

这句代码里的accessKeyId和accessSecret怎么获取呢?

获取并填写accessKeyId和accessSecret

在我们的短信控制台 鼠标悬浮在我们的头像上 出现一个列表框
选择 AccessKey管理
在这里插入图片描述
如果出现下面的提示 点击继续使用即可.
在这里插入图片描述
点击创建AccessKey
在这里插入图片描述
获取一下验证码

在这里插入图片描述
验证成功后就会出现创建成功弹框.
在这里插入图片描述
这里面就包含了我们需要的AccessKeyID和AccessKeySecret
复制到我们的代码里即可
最终结果
在这里插入图片描述
记得把main方法括号里的参数删除掉 也可以给main方法改个名
因为发送短信就是调用的main方法这个方法体.

测试

我们可以去测试类进行测试
在这里插入图片描述
控制台出现如下语句即为短信发送成功 等到接收到短信就没问题了.
在这里插入图片描述

代码编写过程遇到错误或本文有任何不足的地方 可以在评论区留言.期待您的指点.

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值