SpringBoot实现发送短信的示例代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SpringBoot实现发送短信的⽰例代码
⼀.说明
短信的三⽅平台有许多,对于选择什么平台要根据个⼈业务场景选择,这⾥只是DEMO
⼆.创建平台项⽬
创建平台项⽬后可以获得短信基础配置,在调⽤短信接⼝时使⽤
三.创建短信模板
模板动态参数设置规则为{1}{2}{3}...{n} (注意:在调⽤时参数之间拼接⽤逗号作为间隔符,这个见代码描述)
四.使⽤RestTemplate调⽤短信接⼝
Spring Boot 版本:2.1.3
项⽬中使⽤了阿⾥的开源框架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注⼊容器中
/**
* 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;
/**
* 单发短信测试
* @Author: Sans
* @CreateTime: 2019/4/2 10:06
*/
@RequestMapping(value = "/sendsmsTest",method = RequestMethod.GET)
public String sendsmsTest(){
//单发短信API
String url = "https:///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:///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;
}
}
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

相关文档
最新文档