企业级短信服务解决方:阿里云服务从创建到测试全流程(源码)

企业级短信服务解决方案

阿里云短信服务

官网:阿里云短信服务文档使用指引

https://help.aliyun.com/document_detail/59210.html

1)第一步在阿里云注册

在这里插入图片描述

在这里插入图片描述

2)第二步登录并做实名认证

注:实名认证是为了获取阿里云的服务权限

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3)第三步开通短信服务

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

未开通时,界面如下(下图为阿里云老版本短信服务开通界面)

在这里插入图片描述

4)第四步设置短信签名

在这里插入图片描述

在这里插入图片描述

5)第五步设置短信模板

在这里插入图片描述

在这里插入图片描述

6)第六步获取AK和SK

注:AK和SK,是指 AccessKey ID和AccessKey Secret

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

新增用户成功后,显示页面效果

在这里插入图片描述

再次刷新,用户页面的效果

注意:AK/SK都看不到了,点进账号可以看到AK,但是SK不会显示,所以在创建用户后一定要记住SK

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

特别注意:一定要记住AK/SK,发送短信的代码中需要使用

7)第七步下载SDK和DEMO

在这里插入图片描述

在这里插入图片描述

8)第八步查看API文档

注:根据API文档,完成消息的发送

第一步:创建项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第二步:导入项目所需依赖包

在项目的pom.xml中,修改SpringBoot版本为【2.1.14.RELEASE】,原【2.5.1.RELEASE】版本过高

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.14.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.heima</groupId>
    <artifactId>heima_sms</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>heima_sms</name>
    <description>基于SpringBoot 短信发送</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!--阿里云Java SDK核心库-->
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.5.16</version>
        </dependency>
        <!--SpringBoot Web项目起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--封装短信工具类会使用到如下依赖包,如果只是测试短信,使用上面两个依赖包即可-->
        <!--阿里 FastJSON,json格式转换-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.39</version>
        </dependency>
        <!--Lombok依赖包,简化POJO书写,提供日志注解-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.12</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>

第三步:拷贝“使用示例”代码
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;
/*
pom.xml
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-core</artifactId>
  <version>请参见最新版本号</version>
</dependency>
*/
public class SendSms {
    public static void main(String[] args) {
        /*
         * ap-northeast-1代表RegionID
         * 表明使用那个服务区域服务器发生短信,建议根据项目所在服务器选择
         * 具体情况可以参考下面的【阿里云服务器地域介绍】
         */
        DefaultProfile profile = DefaultProfile.getProfile("ap-northeast-1", "<accessKeyId>", "<accessSecret>");
        IAcsClient client = new DefaultAcsClient(profile);

        CommonRequest request = new CommonRequest();
        request.setSysMethod(MethodType.POST);
        //注意:使用该域名会报com.aliyuncs.exceptions.ServerException: ServiceUnavailable错误
        request.setSysDomain("dysmsapi.ap-southeast-1.aliyuncs.com");
        request.setSysVersion("2017-05-25");
        request.setSysAction("SendSms");
        request.putQueryParameter("PhoneNumbers", "1503871****");
        request.putQueryParameter("SignName", "阿里大于测试专用");
        request.putQueryParameter("TemplateCode", "SMS_209335004");
        request.putQueryParameter("TemplateParam", "{\"code\":\"1111\"}");
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}
第四步:替换示例代码中关键信息
package com.heima.heima_sms;

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;
/**
 * @Auth: zhuan
 * @Desc: 阿里云短信发送测试
 */
public class AliyunSendSms {
    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI5tMrs89r3VVjNeMrWfFz", "HWL7HRx4fHaDNvIHElWqg8jpy6jkbO");
        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("PhoneNumbers", "187********");
        request.putQueryParameter("SignName", "黑马品优购用户注册模版");
        request.putQueryParameter("TemplateCode", "SMS_177539469");
        request.putQueryParameter("TemplateParam", "{\"code\":\"6666\"}");
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}
第五步:完成发送短信测试

阿里云服务器地域介绍

中国地域
地域名称所在城市Region ID可用区数量
华北 1青岛cn-qingdao2
华北 2北京cn-beijing8
华北 3张家口cn-zhangjiakou3
华北 5呼和浩特cn-huhehaote2
华北 6乌兰察布cn-wulanchabu2
华东 1杭州cn-hangzhou8
华东 2上海cn-shanghai7
华南 1深圳cn-shenzhen5
华南 2河源cn-heyuan2
西南 1成都cn-chengdu2
中国香港香港cn-hongkong2
其他国家
地域名称所在城市Region ID可用区数量
亚太东南 1新加坡ap-southeast-13
亚太东南 2悉尼ap-southeast-22
亚太东南 3吉隆坡ap-southeast-32
亚太东南 5雅加达ap-southeast-52
亚太南部 1孟买ap-south-12
亚太东北 1东京ap-northeast-12
美国西部 1硅谷us-west-12
美国东部 1弗吉尼亚us-east-12
欧洲中部 1法兰克福eu-central-12
英国(伦敦)伦敦eu-west-12
中东东部 1迪拜me-east-11

封装短信工具类

1)定义短信发送工具类

2)改造测试代码

package com.heima.heima_sms.util;

import com.alibaba.fastjson.JSON;
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 lombok.extern.slf4j.Slf4j;
import java.util.Map;

/**
 * @Auth: zhuan
 * @Desc: 阿里云短信发送工具类
 */
@Slf4j
public class AliyunSmsUtil {
    //短信发送成功状态码
    private static final String OK = "OK";
    //-------------------------阿里云短信发送相关参数设置,保持不变即可------------------
    private static final String REGIONID = "cn-hangzhou";
    private static final String DOMAIN = "dysmsapi.aliyuncs.com";
    private static final String VERSION = "2017-05-25";
    private static final String ACTION = "SendSms";
    //
    private static final String accessKeyId = "LTAI5tMrs89r3VVjNeMrWfFz";
    private static final String secret = "HWL7HRx4fHaDNvIHElWqg8jpy6jkbO";
    /**
     * 功能描述: 阿里云短信发送接口,支持通知、验证码、激活码类短信
     * @param map
     *  map中所需参数,参数名称固定,如下(注意:参数首字母都是小写的):
     *      phoneNumbers : 手机号码,支持多个中间以“,”英文逗号分隔 (必填)
     *      signName :签名(必填)
     *      templateCode :模板code(必填)
     *      templateParam :模板参数(不必填,如果是通知类短信,该参数可以不设置)
     * @return : java.lang.Boolean
     *  true-短信发送成功;false-短信发送失败
     */
    public static Boolean sendSms(Map<String,String> map){
        Boolean flag = false;
        DefaultProfile profile = DefaultProfile.getProfile(REGIONID, accessKeyId, secret);
        IAcsClient client = new DefaultAcsClient(profile);
        CommonRequest request = new CommonRequest();
        request.setSysMethod(MethodType.POST);
        //发送短信域名,不要改变
        request.setSysDomain(DOMAIN);
        request.setSysVersion(VERSION);
        request.setSysAction(ACTION);
        request.putQueryParameter("PhoneNumbers", map.get("phoneNumbers"));
        request.putQueryParameter("SignName", map.get("signName"));
        request.putQueryParameter("TemplateCode", map.get("templateCode"));
        //通知类短信,模板不需要参数。判断传递的模板参数是否为空,如果为空可能是通知类短信,则不需要添加模板参数条件
        if(map.get("templateParam") != null){
            request.putQueryParameter("TemplateParam", map.get("templateParam"));
        }
        try {
            //发送短信
            CommonResponse response = client.getCommonResponse(request);
            //发送短信结果转为Map类型
            Map<String,String> responseMap = JSON.parseObject(response.getData(), Map.class);
            //判断短信发送是否成功
            if(OK.equals(responseMap.get("Code"))){
                flag = true;
            }
            log.debug("send fail[code={}, message={}]", responseMap.get("Code"), responseMap.get("Message"));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
        return flag;
    }
}

3)测试工具类

package com.heima.heima_sms;

import com.heima.heima_sms.util.AliyunSmsUtil;
import java.util.HashMap;
import java.util.Map;
/**
 * @Auth: zhuan
 * @Desc: 工具类短信发送测试
 */
public class AliyunSendSmsTest {

    public static void main(String[] args) {
        //第一步:封装工具类所需参数
        Map<String,String> map = new HashMap<>();
        map.put("phoneNumbers","187********");
        map.put("signName","黑马品优购用户注册模版");
        map.put("templateCode","SMS_177539469");
        map.put("templateParam","{\"code\":\"6666\"}");
        //第二步:调用工具类完成短信发送
        Boolean success = AliyunSmsUtil.sendSms(map);
        //第三步:验证工具类短信发送是否成功
        if(success){
            System.out.println("短信发送成功");
        }else{
            System.out.println("短信发送失败");
        }
    }
}
 /**
  * 特别注意:上述代码中
  * templateCode--->SMS_177539469
  * templateParam--->{\"code\":\"6666\"}中code名称和模板中的参数名称是一致的
  * 总结:指定的【模板(SMS_177539469)】中需要的【参数名称(code)】是固定的,有对应关系,不能随便写
  */

在这里插入图片描述

封装短信组件

注:封装SpringBoot起步依赖

一、创建阿里云短信服务工程

1)创建springboot工程

在这里插入图片描述

在pom.xml中导入短信服务所需依赖包,如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.14.RELEASE</version>
    </parent>
    <groupId>com.heima</groupId>
    <artifactId>heima-sms-aliyun</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>heima-sms-aliyun</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!--阿里云Java SDK核心库-->
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.5.16</version>
        </dependency>
        <!--Lombok依赖包,简化POJO书写,提供日志注解-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.12</version>
            <scope>provided</scope>
        </dependency>
        <!--阿里 FastJSON,json格式转换-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.39</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
2)创建阿里云短信发送配置加载类
package com.heima.sms.aliyun;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @Auth: zhuan
 * @Desc: 阿里云短信发送配置加载类
 */
@Data
@ConfigurationProperties(prefix = "aliyun.sms")
public class AliyunSmsProperties {
    /**
     * Endpoint
     */
    private String endpoint = "cn-hangzhou";

    /**
     * accessKeyId
     */
    private String accessKeyId;

    /**
     * accessKeySecret
     */
    private String accessKeySecret;

    /**
     * 短信签名
     */
    private String signName;
}
3)创建阿里云短信发送处理器
package com.heima.sms.aliyun;

import com.alibaba.fastjson.JSON;
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 lombok.extern.slf4j.Slf4j;

import java.util.Map;
/**
 * @Auth: zhuan
 * @Desc: 阿里云短信发送-处理器
 */
@Slf4j
public class AliyunSmsHandler {

    private IAcsClient client;
    //短信发送成功状态码
    private static final String OK = "OK";
    //-------------------------阿里云短信发送相关参数设置,保持不变即可------------------
    private static final String DOMAIN = "dysmsapi.aliyuncs.com";
    private static final String VERSION = "2017-05-25";
    private static final String ACTION = "SendSms";
    /**
     * 功能描述:
     *
     * @param properties
     * @return : 构造方法,初始化构造短信发送对象-IAcsClient
     */
    public AliyunSmsHandler(AliyunSmsProperties properties) {

        String endPoint = properties.getEndpoint();
        String accessKeyId = properties.getAccessKeyId();
        String accessKeySecret = properties.getAccessKeySecret();

        DefaultProfile profile = DefaultProfile.getProfile(endPoint, accessKeyId, accessKeySecret);
        client = new DefaultAcsClient(profile);
    }
    /**
     * 功能描述: 阿里云短信发送接口,支持通知、验证码、激活码类短信
     *
     * @param map map中所需参数,参数名称固定,如下(注意:参数首字母都是小写的):
     *      phoneNumbers : 手机号码,支持多个中间以“,”英文逗号分隔 (必填)
     *      signName :签名(必填)
     *      templateCode :模板code(必填)
     *      templateParam :模板参数(不必填,如果是通知类短信,该参数可以不设置)
     * @return : java.lang.Boolean
     * true-短信发送成功;false-短信发送失败
     */
    public Boolean sendSms(Map<String, String> map) {
        Boolean flag = false;
        CommonRequest request = new CommonRequest();
        request.setSysMethod(MethodType.POST);
        //发送短信域名,不要改变
        request.setSysDomain(DOMAIN);
        request.setSysVersion(VERSION);
        request.setSysAction(ACTION);
        request.putQueryParameter("PhoneNumbers", map.get("phoneNumbers"));
        request.putQueryParameter("SignName", map.get("signName"));
        request.putQueryParameter("TemplateCode", map.get("templateCode"));
        //通知类短信,模板不需要参数。判断传递的模板参数是否为空,如果为空可能是通知类短信,则不需要添加模板参数条件
        if (map.get("templateParam") != null) {
            request.putQueryParameter("TemplateParam", map.get("templateParam"));
        }
        try {
            //发送短信
            CommonResponse response = client.getCommonResponse(request);
            //发送短信结果转为Map类型
            Map<String, String> responseMap = JSON.parseObject(response.getData(), Map.class);
            //判断短信发送是否成功
            if (OK.equals(responseMap.get("Code"))) {
                flag = true;
            }
            log.debug("send fail[code={}, message={}]", responseMap.get("Code"), responseMap.get("Message"));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
        return flag;
    }
}

二、创建阿里云短信服务起步依赖工程

1)创建springboot工程

在这里插入图片描述

在pom.xml中添加依赖包管理

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.14.RELEASE</version>
    </parent>
    <groupId>com.heima</groupId>
    <artifactId>heima-sms-aliyun-starter</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>heima-sms-aliyun-starter</name>
    <description>黑马-阿里云短信服务组件-starter</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!--阿里云短信服务工程坐标-->
        <dependency>
            <groupId>com.heima</groupId>
            <artifactId>heima-sms-aliyun</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
    </dependencies>
</project>
2)编写【阿里云短信服务】自动配置类

在com.heima.sms.aliyun包下创建自动配置类AliyunSmsAutoConfiguration

package com.heima.sms.aliyun;

import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * @Auth: zhuan
 * @Desc: 阿里云短信服务-自动配置类
 */
@Configuration
@ConditionalOnClass({AliyunSmsHandler.class})
@EnableConfigurationProperties({AliyunSmsProperties.class})
public class AliyunSmsAutoConfiguration {
    
    /**
     * 功能描述: 初始化构建【AliyunSmsHandler】阿里云短信发送处理器对象
     * @param properties
     * @return : com.heima.sms.aliyun.AliyunSmsHandler
     */
    @Bean
    @ConditionalOnMissingBean(AliyunSmsHandler.class)
    public AliyunSmsHandler aliyunSendHandler(AliyunSmsProperties properties) {
        AliyunSmsHandler aliyunSmsHandler = new AliyunSmsHandler(properties);
        return aliyunSmsHandler;
    }
}

3)开启【阿里云短信服务】自动配置类

在resources目录下创建META-INF/spring.factories,并填写如下内容

在这里插入图片描述

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
    com.heima.sms.aliyun.AliyunSmsAutoConfiguration

三、测试【阿里云短信服务组件】

1)创建heima-sms测试工程

在这里插入图片描述

在pom.xml中导入【阿里云短信服务组件】

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.14.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.heima</groupId>
    <artifactId>heima_sms</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>heima_sms</name>
    <description>基于SpringBoot-阿里云短信服务-短信发送</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!--阿里云短信服务组件-->
        <dependency>
            <groupId>com.heima</groupId>
            <artifactId>heima-sms-aliyun-starter</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <!--SpringBoot Web项目起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

    </dependencies>
</project>
2)配置【阿里短信服务组件】AK/SK

在application.yml中配置如下内容

aliyun:
  sms:
  	#下面替换成自己的ak、sk即可
    accessKeyId: LTAI5tMrs89r3VVjNeMrWfFz
    accessKeySecret: HWL7HRx4fHaDNvIHElWqg8jpy6jkbO
3)编写控制层代码
package com.heima.heima_sms.controller;

import com.heima.sms.aliyun.AliyunSmsHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

@RestController
@RequestMapping("/sms")
public class SmsController {
    @Autowired
    private AliyunSmsHandler aliyunSmsHandler;

    @PostMapping("sendVerifyCode")
    public String sendVerifyCode(@RequestBody Map map){
        String return_msg = "失败";
        Boolean flag = aliyunSmsHandler.sendSms(map);
        if(flag){
            return_msg = "成功";
        }
        return "短信发送测试:"+return_msg;
    }
}
4)使用Postman工具完成测试

在这里插入图片描述

请求地址:http://localhost:8080/sms/sendVerifyCode
请求方式:POST
参数格式:JSON
请求参数:
	{
        "phoneNumbers":"18753163301",
        "signName":"黑马品优购用户注册模版",
        "templateCode":"SMS_177539469",
        "templateParam":"{\"code\":\"6666\"}"
	}
5)最终测试效果图

java.util.Map;

@RestController
@RequestMapping(“/sms”)
public class SmsController {
@Autowired
private AliyunSmsHandler aliyunSmsHandler;

@PostMapping("sendVerifyCode")
public String sendVerifyCode(@RequestBody Map map){
    String return_msg = "失败";
    Boolean flag = aliyunSmsHandler.sendSms(map);
    if(flag){
        return_msg = "成功";
    }
    return "短信发送测试:"+return_msg;
}

}


#### 4)使用Postman工具完成测试


```properties
请求地址:http://localhost:8080/sms/sendVerifyCode
请求方式:POST
参数格式:JSON
请求参数:
	{
        "phoneNumbers":"18753163301",
        "signName":"黑马品优购用户注册模版",
        "templateCode":"SMS_177539469",
        "templateParam":"{\"code\":\"6666\"}"
	}
5)最终测试效果图

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值