最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java對接阿里云短信服務(wù)保姆級教程(新手秒會)

 更新時間:2024年12月23日 09:55:03   作者:周小倫_  
這篇文章主要介紹了如何在阿里云上申請短信服務(wù)以及如何使用Java代碼進(jìn)行對接,包括申請資質(zhì)、簽名和模板,以及編寫Java代碼整合成工具類進(jìn)行調(diào)用的步驟,需要的朋友可以參考下

一,阿里云部分

登錄阿里云搜索短信服務(wù)進(jìn)入控制臺,進(jìn)行下面五個步驟的申請(默認(rèn)已開通服務(wù))

1. 申請資質(zhì)

資質(zhì)是申請簽名的實(shí)名化信息,需要提供企業(yè)的信息和個人信息

2. 申請簽名

簽名就是短信的標(biāo)題,如下圖中的【飛書】

要注意,每個帶星號的參數(shù)都要慎重填寫,注意關(guān)鍵信息節(jié)點(diǎn)(這里踩過坑,由于填信息不仔細(xì),審核不通過很耽誤時間) 

3. 申請模版

模板就是短信的內(nèi)容,如下圖

至此,阿里云方面的準(zhǔn)備工作算是基本完成了!

注:

  • 短信服務(wù)已開通,套餐要有余量
  • 簽名要配置好
  • 簽名對應(yīng)的模板配好
  • 接下來是寫Java 來對接

二,Java 代碼部分

        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>dysmsapi20170525</artifactId>
            <version>3.0.0</version>
        </dependency>
        
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.5.0</version>
        </dependency>

        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
            <version>2.1.0</version>
        </dependency>
  • 工具類
public class SmsUtil {

    private static final String ACCESS_KEY_ID = "";//AccessKey自己賬號的
    private static final String ACCESS_KEY_SECRET = "";
    private static final String ENDPOINT = "dysmsapi.aliyuncs.com";//固定死
    private static final String SIGNNAME = "";//簽名名稱
    private static final String TCODE = "";//模版的編號

    public static String  sendSms(String phoneNumbers) throws Exception {

        String code=generateVerificationCode();

        Config config = new Config()
                .setAccessKeyId(ACCESS_KEY_ID)
                .setAccessKeySecret(ACCESS_KEY_SECRET)
                .setEndpoint(ENDPOINT);

        Client client = new Client(config);
        SendSmsRequest sendSmsRequest = new SendSmsRequest()
                .setPhoneNumbers(phoneNumbers)
                .setSignName(SIGNNAME)
                .setTemplateCode(TCODE)
                //此處是設(shè)計(jì)模版的時候預(yù)留的變量$[code]就驗(yàn)證碼,用下面的隨機(jī)生成4位數(shù)字傳入
                .setTemplateParam(String.format("{\"code\":\"%s\"}", code));

        try {
            SendSmsResponse sendSmsResponse = client.sendSms(sendSmsRequest);
            return code;
        } catch (TeaException error) {
            return "失敗";
        }
    }

    /**
     * 驗(yàn)證碼隨機(jī)四位
     */
    private static String generateVerificationCode() {
        // 生成四位數(shù)字驗(yàn)證碼
        Random random = new Random();
        int code = random.nextInt(10000); // 隨機(jī)生成 0 到 9999 的整數(shù)
        return String.format("%04d", code); // 保證生成的是四位數(shù)字,不足四位時前面補(bǔ)0
    }
}
  • controller調(diào)用
    /**
     * 發(fā)送短信
     * @param phone
     * @return
     */
    @RequestMapping("sendCode")
    public ResultVO sendMessage(@RequestParam String phone){
        try {
            String code = SmsUtil.sendSms(phone);
            //使用redis 存起來,過期時間300秒,用于登錄時拿出來驗(yàn)證
            redisTemplate.opsForValue().set("yzm"+phone,code,300, TimeUnit.SECONDS);

            return ResultUtil.success("驗(yàn)證碼發(fā)送成功");
        } catch (Exception e) {
            return ResultUtil.error("驗(yàn)證碼發(fā)送失敗");
        }
    }

完結(jié)?。。?/strong>

總結(jié)

到此這篇關(guān)于Java對接阿里云短信服務(wù)保姆級教程的文章就介紹到這了,更多相關(guān)Java對接阿里云短信服務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中的volatile關(guān)鍵字原理深入解析

    Java中的volatile關(guān)鍵字原理深入解析

    這篇文章主要介紹了Java中的volatile關(guān)鍵字原理深入解析,volatile是Java 編程語言允許線程訪問共享變量,為了確保共享變量能被準(zhǔn)確和一致地更新,線程應(yīng)該確保通過排他鎖單獨(dú)獲得這個變量,需要的朋友可以參考下
    2023-12-12
  • SpringMVC+MyBatis聲明式事務(wù)管理

    SpringMVC+MyBatis聲明式事務(wù)管理

    在最近的一個項(xiàng)目中,采用springMVC、mybatis,MySQL、tomcat,事務(wù)管理對于企業(yè)應(yīng)用來說是至關(guān)重要的,即使出現(xiàn)異常情況,它也可以保證數(shù)據(jù)的一致性。Spring Framework對事務(wù)管理提供了一致的抽象,
    2015-08-08
  • 如何通過java獲取文件名和擴(kuò)展名

    如何通過java獲取文件名和擴(kuò)展名

    這篇文章主要介紹了如何通過java獲取文件名和擴(kuò)展名,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • SpringCloud兩種注冊中心的實(shí)現(xiàn)

    SpringCloud兩種注冊中心的實(shí)現(xiàn)

    本文主要介紹了SpringCloud兩種注冊中心的實(shí)現(xiàn),包括服務(wù)注冊、服務(wù)拉取、負(fù)載均衡和實(shí)例權(quán)重配置等,具有一定的參考價值,感興趣的可以了解一下
    2025-01-01
  • Java中接口的多態(tài)詳解

    Java中接口的多態(tài)詳解

    大家好,本篇文章主要講的是Java中接口的多態(tài)詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Java陷阱之a(chǎn)ssert關(guān)鍵字詳解

    Java陷阱之a(chǎn)ssert關(guān)鍵字詳解

    這篇文章詳細(xì)介紹了Java陷阱之a(chǎn)ssert關(guān)鍵字,有需要的朋友可以參考一下
    2013-09-09
  • Java中的DelayQueue源碼解析

    Java中的DelayQueue源碼解析

    這篇文章主要介紹了Java中的DelayQueue源碼解析,一個實(shí)現(xiàn)PriorityBlockingQueue實(shí)現(xiàn)延遲獲取的無界隊(duì)列,在創(chuàng)建元素時,可以指定多久才能從隊(duì)列中獲取當(dāng)前元素,只有延時期滿后才能從隊(duì)列中獲取元素,需要的朋友可以參考下
    2023-12-12
  • Mybatis實(shí)體類和表映射問題(推薦)

    Mybatis實(shí)體類和表映射問題(推薦)

    在項(xiàng)目開發(fā)中我們經(jīng)常會遇到表中的字段名和表對應(yīng)實(shí)體類的屬性名稱不一定都是完全相同的。下面小編給大家介紹下這種情況下如何解決字段名與實(shí)體類屬性名不相同的沖突問題。下面小編給大家?guī)砹薓ybatis實(shí)體類和表映射的解決方法,小伙伴們一起學(xué)習(xí)吧
    2016-09-09
  • SpringBoot2零基礎(chǔ)到精通之映射與常用注解請求處理

    SpringBoot2零基礎(chǔ)到精通之映射與常用注解請求處理

    SpringBoot是一種整合Spring技術(shù)棧的方式(或者說是框架),同時也是簡化Spring的一種快速開發(fā)的腳手架,本篇讓我們一起學(xué)習(xí)映射、常用注解和方法參數(shù)的小技巧
    2022-03-03
  • springsecurity?登錄認(rèn)證流程分析一(ajax)

    springsecurity?登錄認(rèn)證流程分析一(ajax)

    這篇文章主要介紹了springsecurity?登錄認(rèn)證一(ajax篇),本文通過實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08

最新評論

阳曲县| 顺昌县| 秭归县| 得荣县| 莱阳市| 曲阳县| 弋阳县| 吴忠市| 阿合奇县| 芜湖市| 衡阳市| 田林县| 宁波市| 丰都县| 武清区| 古浪县| 视频| 嘉峪关市| 虞城县| 山西省| 邵阳市| 礼泉县| 苍溪县| 大名县| 九台市| 安溪县| 出国| 乐都县| 莱阳市| 蓬莱市| 铜梁县| 平武县| 杭州市| 卢氏县| 喜德县| 北安市| 石门县| 霞浦县| 永新县| 屯昌县| 天水市|