登录 - 榛子云短信用户系统 (zhenzikj.com)
上面是登录榛子云短信验证平台的入口,此平台的短信大概为3.1分一条短信。
如何与spring boot进行集成呢,我以注册为例来慢慢讲解

com.zhenzikj zhenzisms 2.0.2 com.alibaba fastjson 1.2.47
package com.huamei.trade.controller;import com.alibaba.fastjson.JSONObject;
import com.zhenzi.sms.ZhenziSmsClient;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ThreadLocalRandom;@Controller
public class SendCodeController {//短信平台相关参数//这个不用改private String apiUrl = "https://sms_developer.zhenzikj.com";//榛子云系统上获取//AppIdprivate String appId = "112617";//AppSecretprivate String appSecret = "53846b68-f624-4d67-807a-4be3279612b3";@ResponseBody//这个注解是mvc的拦截器的应该通过注解,可不要@RequestMapping("/sendCode")public String sendCode(String memPhone) {try {//短信发送需要的参数是json类型JSONObject json;//随机6位生成验证码String code = String.valueOf(ThreadLocalRandom.current().nextInt(100000, 1000000));//将验证码通过榛子云接口发送至手机ZhenziSmsClient client = new ZhenziSmsClient(apiUrl, appId, appSecret);//参数类型Map params = new HashMap<>();//前台输入的手机号params.put("number", memPhone);//这个模板id对应的是榛子云个人中心的模板idparams.put("templateId", 10777);//参数占位符,不同的模板有不同的参数个数 目前用的模板有两个参数String[] templateParams = new String[2];//第一个参数 随机生成的六位验证码templateParams[0] = code;//第二个参数 x分钟templateParams[1] = "5";//把参数占位符放在整体参数中params.put("templateParams", templateParams);//执行发送短信String result = client.send(params);System.out.println(result);json = JSONObject.parseObject(result);
// 发送短信失败if (json.getIntValue("code") != 0) {return null;}return code;} catch (Exception e) {e.printStackTrace();return "code not found";}}/*** 跳转发送短信页面** @return java.lang.String**/@RequestMapping("/goSendCode")public String goSendCode() {return "/sendCode";}}
<#include "common/head.html">
前台我采用的是free marker,如果有语法不懂得可去我博客看free marker讲解
free make详解
https://blog.csdn.net/weixin_67150631/article/details/127840284?spm=1001.2014.3001.5501

效果演示

要看清出自己得appid和appseret,还有自己得模板id,短信呢挺贵得,注意测试得时候慢慢来