1)查看 API Demo


2)新建一个SpringBoot项目 sms-verification
3)引入依赖
<!--aliyun--><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.5.3</version></dependency><!--fastjson--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.73</version></dependency><!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>
4)编写一个测试类,就把刚刚的 API Demo 复制过来进行修改
package com.gmw.sms;import com.alibaba.fastjson.JSONObject;import com.aliyuncs.CommonRequest;import com.aliyuncs.CommonResponse;import com.aliyuncs.DefaultAcsClient;import com.aliyuncs.IAcsClient;import com.aliyuncs.exceptions.ClientException;import com.aliyuncs.exceptions.ServerException;import com.aliyuncs.http.MethodType;import com.aliyuncs.profile.DefaultProfile;import org.junit.jupiter.api.Test;import org.springframework.boot.test.context.SpringBootTest;import java.util.HashMap;import java.util.Map;import java.util.UUID;@SpringBootTestclass SmsApplicationTests {@Testvoid contextLoads() {/*** 第一个参数默认填写就行* 第二个参数表示"<accessKeyId>"* 第三个参数表示"<accessSecret>"*/// 这里的 AccessKey ID 、 Secret就是 阿里云用户对于的值,复制过来即可DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");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");//构造参数Map<String,Object> param = new HashMap<>();String code = UUID.randomUUID().toString().substring(0,4);param.put("code",code);//设置发送相关的参数request.putQueryParameter("PhoneNumbers","手机号"); //手机号request.putQueryParameter("SignName","申请阿里云 签名名称"); //申请阿里云 签名名称request.putQueryParameter("TemplateCode","申请阿里云 模板code"); //申请阿里云 模板coderequest.putQueryParameter("TemplateParam", JSONObject.toJSONString(param)); //验证码数据,转换json数据传递try {CommonResponse response = client.getCommonResponse(request);System.out.println(response.getData());} catch (ServerException e) {e.printStackTrace();} catch (ClientException e) {e.printStackTrace();}}}
5)最后就可以得到短信了
注意:
如果上面自定义的参数名写错,不会成功 如果 模板、签名 没有通过审核会报错>
