SpringBoot整合阿里云短信服务的方法

目录

  • 一、新建短信微服务
    • 1、在service模块下创建子模块service-msm
    • 3.配置application.properties
    • 4、创建启动类
  • 二、阿里云短信服务
    • 三、编写发送短信接口
      • 1.在service-msm的pom中引入依赖
      • 2.编写controller,根据手机号发送短信
      • 3.编写service

    一、新建短信微服务
    1、在service模块下创建子模块service-msm
    2.创建controller和service代码

    3.配置application.properties
    # 服务端口server.port=8006# 服务名spring.application.name=service-msm# mysql数据库连接spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/guli?serverTimezone=GMT%2B8spring.datasource.username=rootspring.datasource.password=rootspring.redis.host=192.168.44.131spring.redis.port=6379spring.redis.database= 0spring.redis.timeout=1800000spring.redis.lettuce.pool.max-active=20spring.redis.lettuce.pool.max-wait=-1#最大阻塞等待时间(负数表示没限制)spring.redis.lettuce.pool.max-idle=5spring.redis.lettuce.pool.min-idle=0#最小空闲#返回json的全局时间格式spring.jackson.date-format=yyyy-MM-dd HH:mm:ssspring.jackson.time-zone=GMT+8#配置mapper xml文件的路径mybatis-plus.mapper-locations=classpath:com/atguigu/cmsservice/mapper/xml/*.xml#mybatis日志mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl


    4、创建启动类
    @ComponentScan({"com.south"})@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)//取消数据源自动配置public class ServiceMsmApplication { public static void main(String[] args) {SpringApplication.run(ServiceMsmApplication.class, args); }}


    二、阿里云短信服务 帮助文档:
    https://help.aliyun.com/product/44282.html?spm=5176.10629532.0.0.38311cbeYzBm73

    三、编写发送短信接口
    1.在service-msm的pom中引入依赖
    com.alibabafastjsoncom.aliyunaliyun-java-sdk-core


    2.编写controller,根据手机号发送短信
    @CrossOrigin //跨域public class MsmApiController {@Autowiredprivate MsmService msmService; @Autowiredprivate RedisTemplate redisTemplate; @GetMapping(value = "https://www.it610.com/send/{phone}")public R code(@PathVariable String phone) {String code = redisTemplate.opsForValue().get(phone); if(!StringUtils.isEmpty(code)) return R.ok(); code = RandomUtil.getFourBitRandom(); Map param = new HashMap<>(); param.put("code", code); boolean isSend = msmService.send(phone, "SMS_180051135", param); if(isSend) {redisTemplate.opsForValue().set(phone, code,5,TimeUnit.MINUTES); return R.ok(); } else {return R.error().message("发送短信失败"); }}}


    3.编写service
    @Servicepublic class MsmServiceImpl implements MsmService {/*** 发送短信*/public boolean send(String PhoneNumbers, String templateCode, Map param) {if(StringUtils.isEmpty(PhoneNumbers)) return false; DefaultProfile profile =DefaultProfile.getProfile("default", "LTAIq6nIPY09VROj", "FQ7UcixT9wEqMv9F35nORPqKr8XkTF"); IAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); //request.setProtocol(ProtocolType.HTTPS); request.setMethod(MethodType.POST); request.setDomain("dysmsapi.aliyuncs.com"); request.setVersion("2017-05-25"); request.setAction("SendSms"); request.putQueryParameter("PhoneNumbers", PhoneNumbers); request.putQueryParameter("SignName", "我的谷粒在线教育网站"); request.putQueryParameter("TemplateCode", templateCode); request.putQueryParameter("TemplateParam", JSONObject.toJSONString(param)); try {CommonResponse response = client.getCommonResponse(request); System.out.println(response.getData()); return response.getHttpResponse().isSuccess(); } catch (ServerException e) {e.printStackTrace(); } catch (ClientException e) {e.printStackTrace(); }return false; }}

    【SpringBoot整合阿里云短信服务的方法】到此这篇关于SpringBoot整合阿里云短信服务的文章就介绍到这了,更多相关SpringBoot阿里云短信服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

      推荐阅读