溫馨提示×

溫馨提示×

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

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

SpringBoot實現(xiàn)發(fā)送短信的示例代碼

發(fā)布時間:2020-10-22 14:39:26 來源:腳本之家 閱讀:415 作者:Sans_ 欄目:編程語言

一.說明

在https://office.ucpaas.com/ 注冊賬號并且認(rèn)證為個人開發(fā)者(需要身份證),這個不難,不多說了

短信的三方平臺有許多,對于選擇什么平臺要根據(jù)個人業(yè)務(wù)場景選擇,這里只是DEMO

二.創(chuàng)建平臺項目

創(chuàng)建平臺項目后可以獲得短信基礎(chǔ)配置,在調(diào)用短信接口時使用

SpringBoot實現(xiàn)發(fā)送短信的示例代碼

三.創(chuàng)建短信模板

模板動態(tài)參數(shù)設(shè)置規(guī)則為{1}{2}{3}...{n} (注意:在調(diào)用時參數(shù)之間拼接用逗號作為間隔符,這個見代碼描述)

SpringBoot實現(xiàn)發(fā)送短信的示例代碼

四.使用RestTemplate調(diào)用短信接口

Spring Boot 版本:2.1.3

項目中使用了阿里的開源框架FastJson,用于JSON格式字符串與JSON對象及javaBean之間的轉(zhuǎn)換 ,Maven依賴如下

<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <version>2.1.3.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.45</version>
    </dependency>
</dependencies>

建立RestTemplate配置類,將RestTemplate注入容器中

/**
 * RestTemplate配置類
 * @Author Sans
 * @CreateTime 2019/4/2 09:55
 */
@Configuration
public class RestTemplateConfig {
  @Bean
  public RestTemplate restTemplate() {
    return new RestTemplate();
  }
}

Controller測試

/**
 * 測試短信DEMO
 * @Author Sans
 * @CreateTime 2019/4/2 09:39
 */
@RestController
@RequestMapping("/sms")
public class TestController {

  @Autowired
  private RestTemplate restTemplate;

  /**
   * 單發(fā)短信測試
   * @Author: Sans
   * @CreateTime: 2019/4/2 10:06
   */
  @RequestMapping(value = "/sendsmsTest",method = RequestMethod.GET)
  public String sendsmsTest(){
    //單發(fā)短信API
    String url = "https://open.ucpaas.com/ol/sms/sendsms";
    JSONObject jsonObject = new JSONObject();
    //基礎(chǔ)配置,在開發(fā)平臺認(rèn)證后獲取
    jsonObject.put("sid","ad024f8****************05d1614");
    jsonObject.put("token","5ddbf62d4d****************e27402c");
    jsonObject.put("appid","0ceaca4708****************76ec45f");
    //模板ID,在開發(fā)平臺創(chuàng)建模板對應(yīng)的模板ID
    jsonObject.put("templateid", "432116");
    //模板對應(yīng)的參數(shù),參數(shù)之間拼接用逗號作為間隔符
    jsonObject.put("param", "1315,500");
    //要發(fā)送的手機(jī)號
    jsonObject.put("mobile", "用戶的手機(jī)號");
    //用戶透傳ID,隨狀態(tài)報告返回,可以不填寫
    jsonObject.put("uid","");
    String json = JSONObject.toJSONString(jsonObject);
    //使用restTemplate進(jìn)行訪問遠(yuǎn)程服務(wù)
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
    HttpEntity<String> httpEntity = new HttpEntity<String>(json, headers);
    String result = restTemplate.postForObject(url, httpEntity, String.class);
    return result;
  }

  /**
   * 群發(fā)短信測試
   * @Author: Sans
   * @CreateTime: 2019/4/2 11:23
   */
  @RequestMapping(value = "/sendBatchsmsTest",method = RequestMethod.GET)
  public String sendBatchsmsTest(){
    //群發(fā)短信API
    String url = "https://open.ucpaas.com/ol/sms/sendsms_batch";
    JSONObject jsonObject = new JSONObject();
    //基礎(chǔ)配置,在開發(fā)平臺認(rèn)證后獲取
    jsonObject.put("sid","ad024f8****************05d1614");
    jsonObject.put("token","5ddbf62d4d****************e27402c");
    jsonObject.put("appid","0ceaca4708****************76ec45f");
    //模板ID,在開發(fā)平臺創(chuàng)建模板對應(yīng)的模板ID
    jsonObject.put("templateid", "432116");
    //模板對應(yīng)的參數(shù),參數(shù)之間拼接用逗號作為間隔符
    jsonObject.put("param", "1315,500");
    //群發(fā)多個手機(jī)號之間要用逗號作為間隔符
    jsonObject.put("mobile", "用戶的手機(jī)號A,用戶的手機(jī)號B");
    //用戶透傳ID,隨狀態(tài)報告返回,可以不填寫
    jsonObject.put("uid","");
    String json = JSONObject.toJSONString(jsonObject);
    //使用restTemplate進(jìn)行訪問遠(yuǎn)程服務(wù)
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
    HttpEntity<String> httpEntity = new HttpEntity<String>(json, headers);
    String result = restTemplate.postForObject(url, httpEntity, String.class);
    return result;
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI