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