栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

一.说明

在https://office.ucpaas.com/ 注册账号并且认证为个人开发者(需要身份证),这个不难,不多说了

短信的三方平台有许多,对于选择什么平台要根据个人业务场景选择,这里只是DEMO

二.创建平台项目

创建平台项目后可以获得短信基础配置,在调用短信接口时使用

三.创建短信模板

模板动态参数设置规则为{1}{2}{3}...{n} (注意:在调用时参数之间拼接用逗号作为间隔符,这个见代码描述)

四.使用RestTemplate调用短信接口

Spring Boot 版本:2.1.3

项目中使用了阿里的开源框架FastJson,用于JSON格式字符串与JSON对象及javaBean之间的转换 ,Maven依赖如下


    
      org.springframework.boot
      spring-boot-starter-web
      2.1.3.RELEASE
    
    
      com.alibaba
      fastjson
      1.2.45
    

建立RestTemplate配置类,将RestTemplate注入容器中


@Configuration
public class RestTemplateConfig {
  @Bean
  public RestTemplate restTemplate() {
    return new RestTemplate();
  }
}

Controller测试


@RestController
@RequestMapping("/sms")
public class TestController {

  @Autowired
  private RestTemplate restTemplate;

  
  @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 httpEntity = new HttpEntity(json, headers);
    String result = restTemplate.postForObject(url, httpEntity, String.class);
    return result;
  }

  
  @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 httpEntity = new HttpEntity(json, headers);
    String result = restTemplate.postForObject(url, httpEntity, String.class);
    return result;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/138364.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号