共计 1627 个字符,预计需要花费 5 分钟才能阅读完成。
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