摘要:總結只是針對騰訊短信服務進行了試驗,阿里的短信服務并未真正驗證,希望各位小伙伴能合作完成驗證,共同完善該,覺得有用請該項目。
前言
短信服務在用戶注冊、登錄、找回密碼等相關操作中,可以讓用戶使用更加便捷,越來越多的公司都采用短信驗證的方式讓用戶進行操作,從而提高用戶的實用性。
Spring Boot Starter
由于 Spring boot 的約定大于配置的理念,使得在使用Spring變得更加方便。Spring Boot 項目組提供了很多Starter ,讓我們在使用 Spring 的時候變得非常容易。對于官方提供的Starter 采用 spring-boot-starter-xxx開頭,對于非官方提供的Spring Boot Starter ,官方建議采用 xxxx-spring-boot-starter命名。
短信服務Starter
開發工具及編譯
IntelliJ IDEA 2018.2.5
Maven 3.5+
JDK 1.8
如何使用sms-spring-boot-starter
(1). 在pom文件中引入
com.github.jackieonway.sms sms-spring-boot-starter 0.0.1-SNAPSHOT
在pom.xml中配置maven中央倉庫Snapshots地址
mavenRepoCenter Maven Development Snapshot Repository https://oss.sonatype.org/content/repositories/snapshots false true
(2).在application.yml中加入
spring: jackieonway: sms: sms-type: tentcent # 短信服務商 暫目前只有 騰訊和阿里的短信服務,默認為ali security-key: your security-key # 短信的私鑰 appid: your appid # 短信的應用id sign: your sign # 短信的簽名
(3). 在Springboot主程序中 加入
@EnabledSmsAutoConfiguration
(4). 創建發送短信程序
可以采用排除相關依賴的方式注入Service
可以采用加@Qualifier("tencentSmsService")的方式注入Service ,
value的可選值目前只有tencentSmsService 和aliSmsService兩種,
可以采用 @Autowired privateSmsService tencentSmsService; 注入,
方式與方法2類似
采用方式1,最終的jar包將會比方式2和方法3小,但是最終只有一種短信模式
生效,即只能使用一個短信運營商的服務,方式2,3能快速切換短信運營商
@RestController
public class HelloController {
/**
可以采用排除相關依賴的方式注入Service
可以采用加 @Qualifier("tencentSmsService")的方式注入Service ,
value的可選值目前只有 tencentSmsService 和aliSmsService兩種,
可以采用
@Autowired
private SmsService tencentSmsService;
注入,方式與方法2類似
采用方式1,最終的jar包將會比方式2和方法3小,但是最終只有一種短信模式
生效,即只能使用一個短信運營商的服務,方式2,3能快速切換短信運營商
*/
@Autowired
private SmsService tencentSmsService;
// @Autowired
// private SmsService aliSmsService;
@GetMapping("/tencent")
public Object tencent() {
// 具體配置請參照具體運營商
// your template params
String[] paramst = {"5678","5"};
TencentSmsRequest tencentSmsRequest = new TencentSmsRequest();
tencentSmsRequest.setPhoneNumber(new String[]{"your cellphone"});
tencentSmsRequest.setParams(paramst);
return tencentSmsService.sendTemplateSms("328921", tencentSmsRequest);
}
/* @GetMapping("/ali")
public Object ali() {
// 具體配置請參照具體運營商
AliSmsRequest aliSmsRequest = new AliSmsRequest();
aliSmsRequest.setOutId("420");
aliSmsRequest.setPhoneNumbers(new String[]{"your cellphone"});
aliSmsRequest.setTemplateParam("{"code":"asdsads"}");
aliSmsRequest.setSignName("123");
return aliSmsService.sendTemplateSms("328921",aliSmsRequest);
}*/
}
(5). 發送
訪問 localhost:8080/tencent
一個簡單易上手的短信服務Spring Boot Starter
發送結果
SmsService接口
/**
單個發送短信
@param params 根據對應的短信服務商所需信息填寫
*/ public Object sendSms(Integer type,Object params) throws SmsException; /** * 單個發送模板短信 * @param tempalteId 短信模板id * @param params 根據對應的短信服務商所需信息填寫 */ public Object sendTemplateSms(String tempalteId, Object params) throws SmsException; /** * 批量發送短信 * @param params 根據對應的短信服務商所需信息填寫 */ public Object sendBatchSms(int type,Object params) throws SmsException; /** * 批量發送模板短信 * @param tempalteId 短信模板id * @param params 根據對應的短信服務商所需信息填寫 */ public Object sendBatchTemplateSms(String tempalteId, Object params) throws SmsException;
該接口提供了單個和群發短信與模板短信,注意目前只提供了同步發送方法,異步發送方法,請結合線程池進行。
總結
只是針對騰訊短信服務進行了試驗,阿里的短信服務并未真正驗證,希望各位小伙伴能合作完成驗證,共同完善該starter,覺得有用請starter該項目。如果只想使用而騰訊云短信業務的話,按照Demo使用即可。
github地址:sms-spring-boot-project
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75929.html
摘要:總結目前騰訊阿里和云之訊短信服務都進行了試驗,希望各位小伙伴能合作完成驗證,共同完善該,覺得有用請該項目。如果只想使用而騰訊云短信業務的話,按照使用即可。 前言 短信服務在用戶注冊、登錄、找回密碼等相關操作中,可以讓用戶使用更加便捷,越來越多的公司都采用短信驗證的方式讓用戶進行操作,從而提高用戶的實用性。 Spring Boot Starter 由于 Spring boot 的約定大于...
摘要:編寫一個接口創建命名為根據實際情況修改創建類,內容如下啟動主程序,使用等工具發起請求,可以看到頁面返回編寫單元測試用例打開的下的測試入口類。 簡介 在您第1次接觸和學習Spring框架的時候,是否因為其繁雜的配置而退卻了?在你第n次使用Spring框架的時候,是否覺得一堆反復黏貼的配置有一些厭煩?那么您就不妨來試試使用Spring Boot來讓你更易上手,更簡單快捷地構建Spring應...
摘要:進行異常的捕捉與錯誤信息頁面的定制。告訴,這是一個對象,該對象應該被注冊為在應用程序上下文中的。不同框架的不同配置這里以作為演示默認情況下,保護已啟用。你必須配置包含令牌的所有的網頁來工作。該命名結構旨在幫你找到需要的。 導讀: 在上篇文章中我們了解到Spring Boot 的一些常用的外部化配置,在本篇中我們將會繼續對類的配置進行了解 一個簡單的例子[錯誤頁面定制]: 在 Spr...
摘要:作為微服務的基礎設施之一,背靠強大的生態社區,支撐技術體系。微服務實踐為系列講座,專題直播節,時長高達小時,包括目前最流行技術,深入源碼分析,授人以漁的方式,幫助初學者深入淺出地掌握,為高階從業人員拋磚引玉。 簡介 目前業界最流行的微服務架構正在或者已被各種規模的互聯網公司廣泛接受和認可,業已成為互聯網開發人員必備技術。無論是互聯網、云計算還是大數據,Java平臺已成為全棧的生態體系,...
閱讀 2924·2021-11-23 09:51
閱讀 3099·2021-11-15 11:39
閱讀 2979·2021-11-09 09:47
閱讀 2527·2019-08-30 13:49
閱讀 2113·2019-08-30 13:09
閱讀 3092·2019-08-29 16:10
閱讀 3504·2019-08-26 17:04
閱讀 984·2019-08-26 13:57