专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

SpringBoot 实现发送短信

一.说明

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

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

二.创建平台项目

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

96_1.png

三.创建短信模板

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

96_2.png

四.使用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://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;
    }
}

新人第一次发帖,希望大佬们给出宝贵的意见

文章永久链接:https://tech.souyunku.com/36124

未经允许不得转载:搜云库技术团队 » SpringBoot 实现发送短信

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们