SpringBoot阿里云短信业务实战

狂神说Java:https://www.bilibili.com/video/BV1c64y1M7qN

阿里云短信服务帮助文档:https://help.aliyun.com/product/44282.html

SpringBoot阿里云短信业务实战_第1张图片

一、阿里云用户权限操作


SpringBoot阿里云短信业务实战_第2张图片

1、开启子用户

SpringBoot阿里云短信业务实战_第3张图片

2、新建一个用户组(设置添加权限sms)

SpringBoot阿里云短信业务实战_第4张图片

3、创建一个用户(具体用来操作的账号)

SpringBoot阿里云短信业务实战_第5张图片

4、得到AccessKey(id,密码)

需要保存到本地。如果id和密码忘记了,只能重新创建新的AccessKey
在这里插入图片描述

二、开通阿里云短信服务


1、进入短信服务

SpringBoot阿里云短信业务实战_第6张图片

2、开通成功

SpringBoot阿里云短信业务实战_第7张图片

三、添加短信模板


1、短信的具体内容

在这里插入图片描述

2、等待审核通过(需要正当理由)


四、添加签名


1、公司的名称

在这里插入图片描述

2、等待审核通过(需要正当理由)


五、编写测试代码


1、新建SpringBoot项目


2、导入依赖


<dependency>
    <groupId>com.aliyungroupId>
    <artifactId>aliyun-java-sdk-coreartifactId>
    <version>4.5.3version>
dependency>
<dependency>
    <groupId>com.alibabagroupId>
    <artifactId>fastjsonartifactId>
    <version>1.2.73version>
dependency>
<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-data-redisartifactId>
dependency>

3、测试发送

package com.hejin;

import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.HashMap;

@SpringBootTest
class HejinSmsApplicationTests {

    @Test
    void contextLoads() {

        // 连接阿里云
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "AccessKey id", "AccessKey密码");
        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", "短信模板code");
        // 构建短信验证码
        HashMap<String, Object> map = new HashMap<>();
        map.put("code",222333);
        request.putQueryParameter("TemplateParam", JSONObject.toJSONString(map));

        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }

    }

}

4、测试结果

{"Message":"OK","RequestId":"461EFBB2-4F6B-44C7-9F43-40C9D17C8994","BizId":"137105600523331690^0","Code":"OK"}

Process finished with exit code 0

同时手机也收到了短信。在短信界面,可以看到扣费情况。确保阿里云账户有余额。

六、编写可复用的微服务接口,实现验证码的发送

在这里插入图片描述

你可能感兴趣的:(阿里云,spring,boot,接口)