ApiBoot是一款基於SpringBoot1.x,2.x的接口服務集成基礎框架, 內部提供了框架的封裝集成、使用擴展、自動化完成配置,讓接口開發者能夠選着性完成開箱即用, 再也不爲搭建接口框架而犯愁,從而極大的提升開發效率。java
ApiBoot
的短信服務模塊是由阿里雲
的國際短信服務提供的,支持國內和國際快速發送驗證碼、短信通知和推廣短信。git
前提:須要到阿里雲控制檯申請開通短信服務。github
在pom.xml
配置文件內添加以下:api
<!--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自行從阿里雲控制檯獲取。ui
若是在阿里雲控制檯定義的短信模板存在多個參數,能夠經過ApiBootSmsRequestParam#put
方法來進行挨個添加,該方法返回值爲ApiBootSmsRequestParam
本對象。阿里雲
多參數調用以下所示:spa
// 參數
ApiBootSmsRequestParam param = new ApiBootSmsRequestParam();
param.put("code", "192369").put("name", "測試名稱");
複製代碼
執行短信發送後會返回ApiBootSmsResponse
實例,經過該實例便可判斷短信是否發送成功。code
本章源碼地址:github.com/hengboy/api…