ApiBoot是一款基于SpringBoot1.x,2.x的接口服务集成基础框架, 内部提供了框架的封装集成、使用扩展、自动化完成配置,让接口开发者能够选着性完成开箱即用, 再也不为搭建接口框架而犯愁,从而极大的提升开发效率。java
ApiBoot
的短信服务模块是由阿里云
的国际短信服务提供的,支持国内和国际快速发送验证码、短信通知和推广短信。git
前提:须要到阿里云控制台申请开通短信服务。
在pom.xml
配置文件内添加以下:github
<!--ApiBoot Alibaba Sms--> <dependency> <groupId>org.minbox.framework</groupId> <artifactId>api-boot-starter-alibaba-sms</artifactId> </dependency>
ApiBoot
所提供的依赖都不须要添加版本号,具体查看ApiBoot版本依赖api
配置参数 | 参数介绍 | 默认值 | 是否必填 |
---|---|---|---|
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
本对象。测试
多参数调用以下所示:ui
// 参数 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-smsspa