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