摘要:總結(jié)只是針對騰訊短信服務(wù)進(jìn)行了試驗,阿里的短信服務(wù)并未真正驗證,希望各位小伙伴能合作完成驗證,共同完善該,覺得有用請該項目。
前言
短信服務(wù)在用戶注冊、登錄、找回密碼等相關(guān)操作中,可以讓用戶使用更加便捷,越來越多的公司都采用短信驗證的方式讓用戶進(jìn)行操作,從而提高用戶的實用性。
Spring Boot Starter
由于 Spring boot 的約定大于配置的理念,使得在使用Spring變得更加方便。Spring Boot 項目組提供了很多Starter ,讓我們在使用 Spring 的時候變得非常容易。對于官方提供的Starter 采用 spring-boot-starter-xxx開頭,對于非官方提供的Spring Boot Starter ,官方建議采用 xxxx-spring-boot-starter命名。
短信服務(wù)Starter
開發(fā)工具及編譯
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 # 短信服務(wù)商 暫目前只有 騰訊和阿里的短信服務(wù),默認(rèn)為ali security-key: your security-key # 短信的私鑰 appid: your appid # 短信的應(yīng)用id sign: your sign # 短信的簽名
(3). 在Springboot主程序中 加入
@EnabledSmsAutoConfiguration
(4). 創(chuàng)建發(fā)送短信程序
可以采用排除相關(guān)依賴的方式注入Service
可以采用加@Qualifier("tencentSmsService")的方式注入Service ,
value的可選值目前只有tencentSmsService 和aliSmsService兩種,
可以采用 @Autowired privateSmsService tencentSmsService; 注入,
方式與方法2類似
采用方式1,最終的jar包將會比方式2和方法3小,但是最終只有一種短信模式
生效,即只能使用一個短信運營商的服務(wù),方式2,3能快速切換短信運營商
@RestController
public class HelloController {
/**
可以采用排除相關(guān)依賴的方式注入Service
可以采用加 @Qualifier("tencentSmsService")的方式注入Service ,
value的可選值目前只有 tencentSmsService 和aliSmsService兩種,
可以采用
@Autowired
private SmsService tencentSmsService;
注入,方式與方法2類似
采用方式1,最終的jar包將會比方式2和方法3小,但是最終只有一種短信模式
生效,即只能使用一個短信運營商的服務(wù),方式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). 發(fā)送
訪問 localhost:8080/tencent
一個簡單易上手的短信服務(wù)Spring Boot Starter
發(fā)送結(jié)果
SmsService接口
/**
單個發(fā)送短信
@param params 根據(jù)對應(yīng)的短信服務(wù)商所需信息填寫
*/ public Object sendSms(Integer type,Object params) throws SmsException; /** * 單個發(fā)送模板短信 * @param tempalteId 短信模板id * @param params 根據(jù)對應(yīng)的短信服務(wù)商所需信息填寫 */ public Object sendTemplateSms(String tempalteId, Object params) throws SmsException; /** * 批量發(fā)送短信 * @param params 根據(jù)對應(yīng)的短信服務(wù)商所需信息填寫 */ public Object sendBatchSms(int type,Object params) throws SmsException; /** * 批量發(fā)送模板短信 * @param tempalteId 短信模板id * @param params 根據(jù)對應(yīng)的短信服務(wù)商所需信息填寫 */ public Object sendBatchTemplateSms(String tempalteId, Object params) throws SmsException;
該接口提供了單個和群發(fā)短信與模板短信,注意目前只提供了同步發(fā)送方法,異步發(fā)送方法,請結(jié)合線程池進(jìn)行。
總結(jié)
只是針對騰訊短信服務(wù)進(jìn)行了試驗,阿里的短信服務(wù)并未真正驗證,希望各位小伙伴能合作完成驗證,共同完善該starter,覺得有用請starter該項目。如果只想使用而騰訊云短信業(yè)務(wù)的話,按照Demo使用即可。
github地址:sms-spring-boot-project
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75929.html
摘要:總結(jié)目前騰訊阿里和云之訊短信服務(wù)都進(jìn)行了試驗,希望各位小伙伴能合作完成驗證,共同完善該,覺得有用請該項目。如果只想使用而騰訊云短信業(yè)務(wù)的話,按照使用即可。 前言 短信服務(wù)在用戶注冊、登錄、找回密碼等相關(guān)操作中,可以讓用戶使用更加便捷,越來越多的公司都采用短信驗證的方式讓用戶進(jìn)行操作,從而提高用戶的實用性。 Spring Boot Starter 由于 Spring boot 的約定大于...
摘要:編寫一個接口創(chuàng)建命名為根據(jù)實際情況修改創(chuàng)建類,內(nèi)容如下啟動主程序,使用等工具發(fā)起請求,可以看到頁面返回編寫單元測試用例打開的下的測試入口類。 簡介 在您第1次接觸和學(xué)習(xí)Spring框架的時候,是否因為其繁雜的配置而退卻了?在你第n次使用Spring框架的時候,是否覺得一堆反復(fù)黏貼的配置有一些厭煩?那么您就不妨來試試使用Spring Boot來讓你更易上手,更簡單快捷地構(gòu)建Spring應(yīng)...
摘要:進(jìn)行異常的捕捉與錯誤信息頁面的定制。告訴,這是一個對象,該對象應(yīng)該被注冊為在應(yīng)用程序上下文中的。不同框架的不同配置這里以作為演示默認(rèn)情況下,保護已啟用。你必須配置包含令牌的所有的網(wǎng)頁來工作。該命名結(jié)構(gòu)旨在幫你找到需要的。 導(dǎo)讀: 在上篇文章中我們了解到Spring Boot 的一些常用的外部化配置,在本篇中我們將會繼續(xù)對類的配置進(jìn)行了解 一個簡單的例子[錯誤頁面定制]: 在 Spr...
摘要:作為微服務(wù)的基礎(chǔ)設(shè)施之一,背靠強大的生態(tài)社區(qū),支撐技術(shù)體系。微服務(wù)實踐為系列講座,專題直播節(jié),時長高達(dá)小時,包括目前最流行技術(shù),深入源碼分析,授人以漁的方式,幫助初學(xué)者深入淺出地掌握,為高階從業(yè)人員拋磚引玉。 簡介 目前業(yè)界最流行的微服務(wù)架構(gòu)正在或者已被各種規(guī)模的互聯(lián)網(wǎng)公司廣泛接受和認(rèn)可,業(yè)已成為互聯(lián)網(wǎng)開發(fā)人員必備技術(shù)。無論是互聯(lián)網(wǎng)、云計算還是大數(shù)據(jù),Java平臺已成為全棧的生態(tài)體系,...
閱讀 2962·2021-11-23 09:51
閱讀 3127·2021-11-15 11:39
閱讀 3024·2021-11-09 09:47
閱讀 2553·2019-08-30 13:49
閱讀 2137·2019-08-30 13:09
閱讀 3127·2019-08-29 16:10
閱讀 3539·2019-08-26 17:04
閱讀 1031·2019-08-26 13:57