项目描述
上传时间
浏览人数
当前环境:
maven版本:4.0.0
Springboot版本:2.1.2.RELEASE
Jdk版本:1.8
User篇中接口有3个,分别是发送邮件,注册,登录
1. 发送邮件
接口:
需要先导入发送邮件的依赖
<!--发送邮件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
同时,需要添加发送邮件的配置
发送邮件之前先进行简单的检查,检查用户输入的邮箱是否符合要求,这里用到了正则表达式
String reg = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
if (!email.matches(reg)) {
return new SendEmailResult(SendEmailResult.ERROR_CODE, "邮箱格式不正确", 0);
}
所有的要求满足以后,准备要发送的邮件,因为邮件的格式均类似,所以单独创建个邮件实体类,用于保存邮件内容方便发送
邮件的发送可能在别的地方也会用到,所以单独写到自定义工具类中,
所以整体流程基本就如下所示.邮件就发送成功了.
看看接口的使用情况
1)成功的情况
2) 失败的情况
这样发送邮箱的接口就完成了,过程比较简单,配置稍微繁琐一点.
2. 注册接口
对接受到的参数进行一系列的判断,任意一个条件不符合都不能注册成功.
if (MyUtil.beanHaveNull(registerBean)) {
return new JSONMsg<>(JSONMsg.ERROR_CODE, "参数缺失", null);
}
if (!checkKey(registerBean.getKey())) {
return new JSONMsg<>(JSONMsg.ERROR_CODE, "非法访问", null);
}
if (!registerBean.getPassword().equals(registerBean.getPassword_confirm())) {
return new JSONMsg<>(JSONMsg.ERROR_CODE, "密码不一致", null);
}
int taskId = 0;
try {
taskId = Integer.parseInt(registerBean.getTask_id());
} catch (NumberFormatException e) {
e.printStackTrace();
return new JSONMsg<>(JSONMsg.ERROR_CODE, "参数错误", null);
}
EmailCodePojo codeById = blogMapper.findCodeById(taskId);
if (codeById == null) {
return new JSONMsg<>(JSONMsg.ERROR_CODE, "参数错误", null);
}
if (!registerBean.getEmail().equals(codeById.getEmail())) {
return new JSONMsg<>(JSONMsg.ERROR_CODE, "无效邮箱", null);
}
Long nowTime = System.currentTimeMillis();
Long oldTime = Long.parseLong(codeById.getTime());
if (nowTime - oldTime > 3 * 60 * 1000) {
return new JSONMsg<>(JSONMsg.ERROR_CODE, "验证码已过期", null);
}
if (!registerBean.getCode().equals(codeById.getCode())) {
return new JSONMsg<>(JSONMsg.ERROR_CODE, "验证码错误", null);
}
均符合就正常添加数据即可
3. 登录接口
登录接口就没什么东西,主要就是通过邮箱获取数据库中的密码,与用户填写的进行对比即可.