概述
一、新建短信微服务
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.Driver spring.datasource.url=jdbc:mysql://localhost:3306/guli?serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=root spring.redis.host=192.168.44.131 spring.redis.port=6379 spring.redis.database= 0 spring.redis.timeout=1800000 spring.redis.lettuce.pool.max-active=20 spring.redis.lettuce.pool.max-wait=-1 #最大阻塞等待时间(负数表示没限制) spring.redis.lettuce.pool.max-idle=5 spring.redis.lettuce.pool.min-idle=0 #最小空闲 #返回json的全局时间格式 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.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中引入依赖
<dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> </dependency> </dependencies>
2.编写controller,根据手机号发送短信
@CrossOrigin //跨域 public class MsmApiController { @Autowired private MsmService msmService; @Autowired private RedisTemplate<String, String> redisTemplate; @GetMapping(value = "/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<String,Object> 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
@Service public class MsmServiceImpl implements MsmService { /** * 发送短信 */ public boolean send(String PhoneNumbers, String templateCode, Map<String,Object> 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整合阿里云短信服务的方法的全部内容,希望文章能够帮你解决SpringBoot整合阿里云短信服务的方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复