在https://office.ucpaas.com/ 註冊帳號而且認證爲我的開發者(須要身份證),這個不難,很少說了java
短信的三方平臺有許多,對於選擇什麼平臺要根據我的業務場景選擇,這裏只是DEMOweb
建立平臺項目後能夠得到短信基礎配置,在調用短信接口時使用 spring
模板動態參數設置規則爲{1}{2}{3}...{n} (注意:在調用時參數之間拼接用逗號做爲間隔符,這個見代碼描述) json
Spring Boot 版本:2.1.3app
項目中使用了阿里的開源框架FastJson,用於JSON格式字符串與JSON對象及javaBean之間的轉換 ,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注入容器中spring-boot
/** * RestTemplate配置類 * @Author Sans * @CreateTime 2019/4/2 09:55 */
@Configuration
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
複製代碼
Controller測試post
/** * 測試短信DEMO * @Author Sans * @CreateTime 2019/4/2 09:39 */
@RestController
@RequestMapping("/sms")
public class TestController {
@Autowired
private RestTemplate restTemplate;
/** * 單發短信測試 * @Author: Sans * @CreateTime: 2019/4/2 10:06 */
@RequestMapping(value = "/sendsmsTest",method = RequestMethod.GET)
public String sendsmsTest(){
//單發短信API
String url = "https://open.ucpaas.com/ol/sms/sendsms";
JSONObject jsonObject = new JSONObject();
//基礎配置,在開發平臺認證後獲取
jsonObject.put("sid","ad024f8****************05d1614");
jsonObject.put("token","5ddbf62d4d****************e27402c");
jsonObject.put("appid","0ceaca4708****************76ec45f");
//模板ID,在開發平臺建立模板對應的模板ID
jsonObject.put("templateid", "432116");
//模板對應的參數,參數之間拼接用逗號做爲間隔符
jsonObject.put("param", "1315,500");
//要發送的手機號
jsonObject.put("mobile", "用戶的手機號");
//用戶透傳ID,隨狀態報告返回,能夠不填寫
jsonObject.put("uid","");
String json = JSONObject.toJSONString(jsonObject);
//使用restTemplate進行訪問遠程服務
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;
}
/** * 羣發短信測試 * @Author: Sans * @CreateTime: 2019/4/2 11:23 */
@RequestMapping(value = "/sendBatchsmsTest",method = RequestMethod.GET)
public String sendBatchsmsTest(){
//羣發短信API
String url = "https://open.ucpaas.com/ol/sms/sendsms_batch";
JSONObject jsonObject = new JSONObject();
//基礎配置,在開發平臺認證後獲取
jsonObject.put("sid","ad024f8****************05d1614");
jsonObject.put("token","5ddbf62d4d****************e27402c");
jsonObject.put("appid","0ceaca4708****************76ec45f");
//模板ID,在開發平臺建立模板對應的模板ID
jsonObject.put("templateid", "432116");
//模板對應的參數,參數之間拼接用逗號做爲間隔符
jsonObject.put("param", "1315,500");
//羣發多個手機號之間要用逗號做爲間隔符
jsonObject.put("mobile", "用戶的手機號A,用戶的手機號B");
//用戶透傳ID,隨狀態報告返回,能夠不填寫
jsonObject.put("uid","");
String json = JSONObject.toJSONString(jsonObject);
//使用restTemplate進行訪問遠程服務
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;
}
}
複製代碼
新人第一次發帖,但願大佬們給出寶貴的意見測試