当前位置: 首页 > news >正文

无锡响应式网站设计wordpress目录图片

无锡响应式网站设计,wordpress目录图片,wordpress 畅萌,网站主页面布局怎么做⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途。 目录 前置条件 内容简介 图形验证码接口实现 导入糊涂工具依赖 接口分析 编写验证码接口 测试验证码接口 前置条件 …

⛰️个人主页:     蒾酒

🔥系列专栏:《spring boot实战》

🌊山高路远,行路漫漫,终有归途。


目录

前置条件

内容简介

图形验证码接口实现

导入糊涂工具依赖

接口分析

编写验证码接口

测试验证码接口


前置条件

本文衔接上文,请从上文开始

spring boot3x登录开发-上(整合jwt)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/135964626?spm=1001.2014.3001.5502

内容简介

上文我们已经整合好了jwt,本文我们开始实现图形验证码接口的实现。

  • 通过糊涂工具包的图形验证码工具完成获取验证码接口
  • 通过redis缓存key(验证码id)-value(验证码内容)

图形验证码接口实现

导入糊涂工具依赖

pom.xml:

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.25</version>
</dependency>

接口分析

前端的登录表单有个验证码id字段,第一次打开登录页面默认会请求验证码接口,那么后端验证码接口将返回验证码图片的base64编码和验证码id,前端需要将验证码id保存到表单对象的验证码id字段,同时把验证码图片显示。用户填写账密、验证码点击登录,表单对象将携带账密和验证码id和用户键入的验证码内容提交到后端,后端需要根据此验证码id去查redis跟用户提交的比对

分析完我们就可以知道怎样设计这个接口了。

接口接收一个验证码id参数,判断这个参数如果是null则生成一个验证码id,不为null则直接拿它去生成redis缓存验证码内容的key,接着将验证码图片同id返回给前端。

 首先定义验证码接口数据对象

import lombok.Builder;
import lombok.Data;/*** @author mijiupro*/
@Data
@Builder
public class CaptchaVO {//验证码idprivate  String captchaId;//验证码图片base64编码private  String captchaImage;
}

编写验证码接口

这里用到了redis,需要整合好:

Spring Boot3整合Redis-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/136067550?spm=1001.2014.3001.5501

import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.CircleCaptcha;
import com.mijiu.commom.model.vo.CaptchaVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.Optional;
import java.util.UUID;
import java.util.concurrent.TimeUnit;/*** @author mijiupro*/
@RestController
@RequestMapping("/Captcha")
@Tag(name = "验证码接口", description = "验证码接口相关操作")
public class CaptchaController {private final StringRedisTemplate stringRedisTemplate;public CaptchaController(StringRedisTemplate stringRedisTemplate) {this.stringRedisTemplate = stringRedisTemplate;}@GetMapping("/graph-captcha")@Operation(summary = "获取验证码")public CaptchaVO getCaptcha(String captchaId) {// 创建一个图像验证码宽度为130,高度为48,包含4个字符,干扰线10个CircleCaptcha circleCaptcha = CaptchaUtil.createCircleCaptcha(130, 48, 4, 10);// 获取验证码的文本String captchaText = circleCaptcha.getCode();// 获取验证码图片的Base64编码String captchaImageBase64Data = circleCaptcha.getImageBase64Data();// 如果没有传入captchaId,则生成一个随机字符串作为captchaIdcaptchaId = Optional.ofNullable(captchaId).orElseGet(() -> UUID.randomUUID().toString());// 保存验证码文本到Redis中,有效期30秒stringRedisTemplate.opsForValue().set("captcha:" + captchaId, captchaText, 30, TimeUnit.SECONDS);return CaptchaVO.builder().captchaId(captchaId).captchaImage(captchaImageBase64Data).build();}}

测试验证码接口

这里使用Knife4jConfig(swigger3)测试,也可以用浏览器地址栏、Postman等测试

Spring Boot3整合knife4j(swagger3)_springboot3 knife4j-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_62262918/article/details/135761392?spm=1001.2014.3001.5502

http://www.yayakq.cn/news/52605/

相关文章:

  • 做网站价格报价费用多少钱wordpress知识库模板
  • 淘宝联盟+做网站北京seo优化分析
  • 叙述一个网站的建设过程网站开发生命周期
  • 专业建站制作电子商城网站制作
  • 网站大气模板中山祥云做的网站怎么样百度百科
  • 虚拟产品网站手表网站背景
  • 汕头网站建设平台学校网站开发工程师
  • 网站制作如皋营销咨询公司招聘
  • 优化企业网站模板近期莱芜命案
  • 做网站是自己公司做好还是外包好电子商务大专出来都去干嘛了
  • 一级a视网站 做爰片个人主页html代码
  • 重庆合川企业网站建设联系电话餐饮网站系统
  • 织梦网站图片怎么修改不了专业做影评的网站
  • 蓝海基业做的网站好吗广东电商网站建设
  • 设计制作商城网站零成本搭建自己的网站
  • 北京住房城乡建设厅网站首页做一个网上商城需要多少钱
  • 常熟专业网站建设七牛wordpress
  • 网站备案公共查询旅游门户网站建设
  • 浏阳做网站的公司价格做网站外国的服务器
  • 东阳网站建设微信开发单位网站建设建议对策
  • 中国社交网站做多外国人的电子商城网站开发 pdf
  • 哪种公司一般会做网站域名到期对网站的影响
  • 自己网站做虚拟币违法吗网站开发是用什么语言
  • 电脑怎样做网站主题网站的设计方案
  • 最快做网站的语言seo推广服务
  • 企业网站建设费用大约多少钱最好装修公司排名
  • 漂亮企业网站太原关键词优化软件
  • 天猫的网站建设上传的网站怎么打开
  • 电商网站是什么网站源码提取
  • 安徽省港航建设投资集团网站中国建设银行预约网站首页