Springboot下实现阿里云短信验证功能(含代码)

Springboot下实现阿里云短信验证功能

一 开通阿里云短信服务

  • 阿里云官网注册登录

  • 找到短信服务并开通

    Springboot下实现阿里云短信验证功能(含代码)_第1张图片

  • 打开短信服务的管理台

  • 在国内消息那栏中添加签名管理和模板管理(按照格式要求去写)

Springboot下实现阿里云短信验证功能(含代码)_第2张图片

  • 在右上角的用户信息里有AccessKey管理(里面的信息后续要用并且需要妥善保存)

Springboot下实现阿里云短信验证功能(含代码)_第3张图片

  • 短信服务的帮助文档里有相关Maven依赖和示例

Springboot下实现阿里云短信验证功能(含代码)_第4张图片

二 代码

pom.xml

    

        
            com.alibaba
            fastjson
            1.2.62
        
      
        
            com.aliyun
            aliyun-java-sdk-core
            4.5.1
        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
    

实现的工具类

其中需要修改的一些参数已经标出

package com.zbw.demo;

import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import net.minidev.json.JSONObject;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.rmi.ServerException;
import java.util.HashMap;

@SpringBootTest
class DemoApplicationTests {
    @Test
    void contextLoads() {
//连接
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "你的AccessKeyid", "你的AccessKey密码");
        IAcsClient client = new DefaultAcsClient(profile);
//构建请求
        CommonRequest request = new CommonRequest();
        request.setSysMethod(MethodType.POST);
        request.setSysDomain("dysmsapi.aliyuncs.com");
        request.setSysVersion("2017-05-25");
        request.setSysAction("SendSms");
        //自定义模板信息
        request.putQueryParameter("PhoneNumbers", "收到验证码的电话号码");
        request.putQueryParameter("SignName", "你的阿里云签名的名称");
        request.putQueryParameter("TemplateCode", "你的阿里云模板Code");
        //构建验证码
        HashMap map = new HashMap<>();
        map.put("code", 这里写你想要给手机上发的验证码);
        request.putQueryParameter("TemplateParam", JSONObject.toJSONString(map));
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
        } catch (ClientException e) {
            e.printStackTrace();
        }

    }
}

三 后续

  • 阿里云官方文档中的Demo其实已经介绍的很详细了,建议去看.
  • 添加依赖时要注意版本号

你可能感兴趣的:(Springboot下实现阿里云短信验证功能(含代码))