中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot中怎么實現一個短信服務功能

發布時間:2021-08-06 17:13:43 來源:億速云 閱讀:373 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關springboot中怎么實現一個短信服務功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

添加依賴和配置

有了上面的準備工作,我們接下來開始在我們的項目中開發吧。一樣的先在pom.xml 文件中加入依賴:

<!--阿里云短信服務--> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.1.0</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.61</version> </dependency>

這個fastjson 不是必須的,就看你項目中有沒有用到啦,沒有用到的話,添加第一個依賴就好了。

然后在application.properties文件中加入配置,這四個參數,就是準備工作中我們獲取的四個參數。

service 層

和郵件服務一樣,我們這里沒有涉及到數據庫,就先直接寫service 層,創建SmsService 接口和 SmsServiceImpl 類。

SmsServiceImpl的代碼如下:

@Service@Slf4jpublic class SmsServiceImpl implements SmsService { @Value("${sms.accessKeyId}") private String accessKeyId; @Value("${sms.accessSecret}") private String accessSecret; @Value("${sms.signName}") private String signName; @Value("${sms.templateCode}") private String templateCode; @Override public boolean sendSms(String iponeNUmber) { DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessSecret); IAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); request.setMethod(MethodType.POST); request.setDomain("dysmsapi.aliyuncs.com"); request.setVersion("2017-05-25"); request.setAction("SendSms"); request.putQueryParameter("RegionId", "cn-hangzhou"); request.putQueryParameter("PhoneNumbers", iponeNUmber); request.putQueryParameter("SignName", signName); request.putQueryParameter("TemplateCode", templateCode); JSONObject object=new JSONObject(); String randCode=getRandCode(6); log.info("驗證碼為:{}",randCode); object.put("code",randCode); request.putQueryParameter("TemplateParam", object.toJSONString()); try { CommonResponse response = client.getCommonResponse(request); log.info(response.getData()); return true; } catch (Exception e) { log.error("{}",e); } return false; } /** * 生成隨機驗證碼 * @param digits * @return */ public static String getRandCode(int digits) { StringBuilder sBuilder = new StringBuilder(); Random rd = new Random((new Date()).getTime()); for(int i = 0; i < digits; ++i) { sBuilder.append(String.valueOf(rd.nextInt(9))); } return sBuilder.toString(); }}

整體的代碼邏輯很簡單,首先是通過Value注解將配置文件中配置的那四個參數獲取到。

sendSms()方法中 :

DefaultProfile 和 IAcsClient 是創建DefaultAcsClient實例并初始化。三個參數分別對應的是:地域ID,RAM賬號的AccessKey ID, RAM賬號AccessKey Secret。

DescribeInstancesRequest 是創建API請求并設置參數。request.putQueryParamete()我們修改主要是修改這里面的參數。PhoneNumbers 是接收信息的手機號,這里我發送的是短信驗證碼。所以我這里生成一個6位的短息驗證碼。具體需求大家可以根據需求進行調整。

controller 層

controller 層比較簡單,就一個發送短信的接口,在sms包下創建SmsController類,代碼如下:

@RestController@RequestMapping("/sms")public class SmsController { @Autowired private SmsService smsService; @RequestMapping(value = "/send",method = RequestMethod.GET) public String sendSms(@RequestParam(value = "userName")String userName){ smsService.sendSms(userName); return "success"; }}

看完上述內容,你們對springboot中怎么實現一個短信服務功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台州市| 卓尼县| 绥化市| 香格里拉县| 鄱阳县| 观塘区| 望奎县| 东至县| 从江县| 蒙自县| 旺苍县| 柘荣县| 平邑县| 资溪县| 清水河县| 长海县| 四子王旗| 昌吉市| 寿宁县| 英吉沙县| 四川省| 井冈山市| 兴安盟| 鄄城县| 玛纳斯县| 塔河县| 水城县| 古浪县| 进贤县| 凤台县| 泉州市| 溆浦县| 永登县| 天门市| 泸溪县| 沁阳市| 陆丰市| 防城港市| 北海市| 漳浦县| 滦南县|