- 在进行腾讯云短信接口接入前,需要拥有一个自己的网站、APP、公众号或者小程序,在后续创建短信签名中需要使用。如果单独为了学习练习使用,可以去微信公众平台注册一个微信公众号来进行创建签名,这个过程简单并且全部免费。
- 微信公众平台
https://mp.weixin.qq.com/
。
编写代码前的准备工作
创建签名
- 打开腾讯云,在顶部搜索短信进入界面,然后选择左侧的快速入门,跟着给出的流程对短信签名以及短信模板进行创建。
- 创建成功后需要记住自己的短信签名的签名内容以及短信正文模板的id号,后续代码中会有用到。
创建应用
- 在左侧的列表中选择应用管理 -> 应用列表 -> 创建应用,输入对应信息便可得到一个应用
- 点击刚刚所创建的应用,便可得到appid和appkey
代码部分
SmsController
package com.example.demo.Controller;
import com.example.demo.entity.Sms;
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
import org.json.JSONException;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
@RestController
@RequestMapping(value = "/sms")
public class SmsController {
@RequestMapping(value = "/sendCode", method = RequestMethod.POST)
public void sendCode(Sms sms){
int appid = ;
String appkey = "";
int templateId = ; //模板ID
String smsSign = "";//签名名称
try{
String[] params = {sms.getCode(),Integer.toString(sms.getMin())}; //短信中的参数
SmsSingleSender ssender = new SmsSingleSender(appid,appkey);
SmsSingleSenderResult result = ssender.sendWithParam("86",sms.getPhoneNumber(),templateId,
params,smsSign,"","");
System.out.println(result);
}catch (HTTPException e){
e.printStackTrace();
}catch (JSONException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
}
}
Sms
package com.example.demo.entity;
public class Sms {
private String phoneNumber;
private String code;
private int min;
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public int getMin() {
return min;
}
public void setMin(int min) {
this.min = min;
}
}