ApiBoot是一款基于SpringBoot1.x,2.x的接口服务集成基础框架, 内部提供了框架的封装集成、使用扩展、自动化完成配置,让接口开发者可以选着性完成开箱即用, 不再为搭建接口框架而犯愁,从而极大的提高开发效率。

ApiBoot的短信服务模块是由阿里云的国际短信服务提供的,支持国内和国际快速发送验证码、短信通知和推广短信。

前提:需要到阿里云控制台申请开通短信服务。

引入ApiBoot Alibaba Sms

pom.xml配置文件内添加如下:

<!--ApiBoot Alibaba Sms-->
<dependency>
  <groupId>org.minbox.framework</groupId>
  <artifactId>api-boot-starter-alibaba-sms</artifactId>
</dependency>

ApiBoot所提供的依赖都不需要添加版本号,具体查看ApiBoot版本依赖

配置参数列表

配置参数 参数介绍 默认值 是否必填
api.boot.sms.access-key-id RAM账号的AccessKey ID
api.boot.sms.access-key-secret RAM账号Access Key Secret
api.boot.sms.sign-name 短信签名
api.boot.sms.connection-timeout 短信发送连接超时时长 10000
api.boot.sms.read-timeout 短信接收消息连接超时时长 10000
api.boot.sms.profile 短信区域环境 default

发送短信

ApiBoot Alibaba Sms模块内置了ApiBootSmsService接口实现类,通过send方法即可完成短信发送,如下所示:

        /**
     * logger instance
     */
    static Logger logger = LoggerFactory.getLogger(ApiBootSmsTest.class);

    @Autowired
    private ApiBootSmsService apiBootSmsService;

    @Test
    public void sendSms() {

        // 参数
        ApiBootSmsRequestParam param = new ApiBootSmsRequestParam();
        param.put("code", "192369");

        // 请求对象
        ApiBootSmsRequest request = ApiBootSmsRequest.builder().phone("171xxxxx").templateCode("SMS_150761253").param(param).build();

        // 发送短信
        ApiBootSmsResponse response = apiBootSmsService.send(request);
        logger.info("短信发送反馈,是否成功:{}", response.isSuccess());
    }
短信模板code自行从阿里云控制台获取。

如果在阿里云控制台定义的短信模板存在多个参数,可以通过ApiBootSmsRequestParam#put方法来进行挨个添加,该方法返回值为ApiBootSmsRequestParam本对象。

多参数

多参数调用如下所示:

// 参数
ApiBootSmsRequestParam param = new ApiBootSmsRequestParam();
param.put("code", "192369").put("name", "测试名称");

发送结果反馈

执行短信发送后会返回ApiBootSmsResponse实例,通过该实例即可判断短信是否发送成功。

本章源码地址:https://github.com/hengboy/api-boot/tree/master/api-boot-samples/api-boot-sample-alibaba-sms
ApiBoot 开源交流群


恒宇少年
395 声望220 粉丝