簡單說明
之前使用過阿里的阿里大於這個短信代發服務,今天使用的是阿里雲最新的一個短信代發服務,文檔真的有點不詳細,加上網上的博客也太少了,幾經蹉跎還是把它給搓出來了,供大家學習
阿里雲短信
首先沒用過的玩家需要去阿里雲注冊賬戶,然后開啟兩個私鑰,這兩個密鑰是我們的必需品
然后去申請簽名和模版,這個也是我們的必需品
現在不怎么好申請了,建議申請理由都寫成個人項目測試啥的,過不了就多申請幾次,我申了三次才ojbk!
上面兩個環境已經裝備好了的你,怎么可以吃霸王餐呢?當然是充錢進去呀,找到充值入口,隨便充點錢進去 (一塊錢其實就可以了!哭)
官方文檔閱讀
官方提供了文檔說明、ApiDemo、入參出參說明,這個還是比較詳細的,但你以為你就能跑起來的話,我信你個鬼哦!
唯一需要注意的地方就是上圖中我圈出來的這個地方,它的值是我們發送驗證碼的值,是一個Json格式 :{"code":"值"}
至於入參和出參可以參考官方文檔,很多Api都變化了,其實我也記不起以前的api了,哈哈哈哈.....
Java工程
創建一個SpringBoot工程,按部就班。
最終的項目目錄結構為:
pom.xml
<dependencies> <!--@ConfigurationProperties 注解所需,不給報錯--> <dependency> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-configuration-processor </artifactId> <optional> true </optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.1.6.RELEASE</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <!--阿里短信官網提供的依賴--> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.0.3</version> </dependency> <!--MQ的依賴,本列子不是用MQ--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <!--Json轉換工具類--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.30</version> </dependency> </dependencies>
日志的配置文件,這就不放了,SpringBoot的配置文件為application.yml
server: port: 8888 spring: application: name: sms_test ccl: sms: accessKeyId: LTAI4Fh****X41J5UxcrBA7A # accessKeyId accessKeySecret: qnF****mF4aM4f2aNoCOzLxkzyNRP8 # AccessKeySecret signName: 個人博客 # 簽名名稱 verifyCodeTemplate: SMS_175051234 # 模板編號 logging.level.org.springframework.boot.autoconfigure: ERROR
配置類
package com.test.sms.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; /** * @Author Ninja650Plus@163.com * @Description //裝載配置文件的屬性類 * @Date 2019/10/7 * @Param * @return **/ @Data @Component @ConfigurationProperties(prefix = "ccl.sms") public class SmsConfig { String accessKeyId; String accessKeySecret; String signName; String verifyCodeTemplate; }
被封裝的阿里雲短信接口