【简单易懂】SpringBoot-短信验证码功能测试

短信验证码接⼊SpringBoot申请操作指引:

短信验证码平台选择考虑点:

  • 各个类型短信价格

  • 短信到达率、到达时间

  • 短信内容变量灵活,⽅便⽀持多场景

  • ⽀持多种推⼴内容的短信发放,例如业务推⼴、新产品宣讲、 会员关怀等内容的短信

  • 多维度数据统计-查看请求量、发送成功量、失败量、等

*短信平台

  • 阿⾥云:https://www.aliyun.com/product/sms(推荐)

  • 腾讯云:https://cloud.tencent.com/product/sms(推荐)

  • 第三⽅⼚商:https://market.aliyun.com/products/5700000 2/cmapi00046920.html(强烈推荐)(提供测试模板、免审核、测试成本更低

举例:

*选择申请接入链接

 短信-三网短信-短信验证码-短信-三网短信-短信验证码-三网短信接口-短信验证码API-三网短信验证码-短信-短信验证码-短信【最新版】_最新活动_电商_API-云市场-阿里云 (aliyun.com)icon-default.png?t=N7T8https://market.aliyun.com/products/57002003/cmapi00037891.html?spm=5176.2020520132.101.4.227e7218HVCmBO#sku=yuncode3189100002

 

可以看到,这个第三方阿里云市场的短信api非常便宜 ,4元100条,足够学习和日常使用了

购买后,会进入到相应的控制台,如下图:

 

接着就可以进入到代码部分进行测试了

  •  第一种方式:可以用购买页面下面的官方提供的测试代码,很简单,仔细研究一下就看懂了

 

  • 第二种: 自己用ResTemplate去调用短信AP接口
@Component
@Slf4j
public class SmsComponent {
       
    //这里的地址为:调用地址,再加上需要带的参数,可以从短信购买页面的下方找到;
    private static final String URL_TEMPLATE="https://zwp.market.alicloudapi.com/sms/sendv2?mobile=%s&content=%s";

    @Autowired
    private  SmsConfig smsConfig;
    @Autowired
    private  RestTemplate restTemplate;

    public void send2(String to, String content) {

        String url = String.format(URL_TEMPLATE, to, content);
        HttpHeaders headers = new HttpHeaders();
        //最后在header中的格式(中间是英⽂空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
        //AppCode在刚才的短信控制台能找到,写在下面就行了
        headers.set("Authorization", "APPCODE " + AppCode);
        HttpEntity<String> entity = new HttpEntity<>(headers);

        ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
        log.info("url={},body={}", url, response.getBody());
        if (response.getStatusCode() ==
                HttpStatus.OK) {
            log.info("发送短信成功,响应信息:{}",
                    response.getBody());
        } else {
            log.error("发送短信失败,响应信息:{}",
                    response.getBody());
        }
    }
}
  •  然后写个测试类调用一下就行了


import com.sun.AccountApplication;
import com.sun.component.SmsComponent;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = AccountApplication.class)
@Slf4j
public class SmsTest {
    @Autowired
    private SmsComponent smsComponent;
    @Test
    public void testSendSms(){
         //smsComponent.send();
        smsComponent.send2("135257****","【智能云】您的验证码是568126。如非本人操作,请忽略本短信");
    }
}

对AI新风口感兴趣的朋友或者大佬可以加一下,一起交流学习,探索更多可能性

我也创建了一个AI qq交流群:

感兴趣的朋友可以加一下

qq:570248516

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值