spring: cloud: alicloud: access-key: xxx secret-key: xxx
demo类:
@Autowired private ISmsService smsService ; /** * sms */ @RequestMapping("/sms") @RateLimiter(value = "smsCode", param = "#telphone", max = 1, ttl = 60) public SendSmsResponse sendMessage(String telphone) { // TODO 定义一个ENUM类(短信类别, 短信模板) String code = $.random(4, RandomType.INT); CacheKey key = iCacheKey.getKey("smsCode", telphone); micaRedisCache.set(key, code); // 组装请求对象-具体描述见控制台-文档部分内容 SendSmsRequest request = new SendSmsRequest(); // 必填:待发送手机号 request.setPhoneNumbers(telphone); // 必填:短信签名-可在短信控制台中找到 request.setSignName("xxx"); // 必填:短信模板-可在短信控制台中找到 request.setTemplateCode("SMS_172010502"); // 可选:模板中的变量替换JSON串,如模板内容为"【企业级分布式应用服务】,您的验证码为${code}"时,此处的值为 request.setTemplateParam("{\"code\":\"" + code + "\"}"); SendSmsResponse sendSmsResponse ; try { // redi存储telphone:code sendSmsResponse = smsService.sendSmsRequest(request); } catch (ClientException e) { e.printStackTrace(); sendSmsResponse = new SendSmsResponse(); } return sendSmsResponse ; }
@RateLimiter注解为mica-plus-redis限流注解。很好用https://gitee.com/596392912/mica
扫一扫访问 Blade技术社区 移动端