前言 下面介绍用户注册接口。
一、代码部分
- User package org.example.springboot3.bigevent.entity;
import com.baomidou.mybatisplus.annotation.TableId; import lombok.Getter; import lombok.Setter; import lombok.ToString; import java.time.LocalDateTime;
@Getter @Setter @ToString public class User { @TableId private Integer id;//主键ID private String username;//用户名 private String password;//密码 private String nickname;//昵称 private String email;//邮箱 private String userPic;//用户头像地址 private LocalDateTime createTime;//创建时间 private LocalDateTime updateTime;//更新时间 }
2.UserMapper1 package org.example.springboot3.bigevent.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.example.springboot3.bigevent.entity.User;
/**
- Create by Sean on 2024/6/12 */ @Mapper public interface UserMapper1 extends BaseMapper { }
- UserSerivce package org.example.springboot3.bigevent.service;
import org.example.springboot3.bigevent.entity.User;
/**
-
Create by Sean on 2024/6/12 */ public interface UserSerivce { User findUserByName(String username);
int addUser(String username, String password); }
package org.example.springboot3.bigevent.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.example.springboot3.bigevent.mapper.UserMapper1; import org.example.springboot3.bigevent.entity.User; import org.example.springboot3.bigevent.service.UserSerivce; import org.example.springboot3.bigevent.utils.Md5Util; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDateTime;
/**
-
Create by Sean on 2024/6/12 */ @Service public class UserSerivceImpl implements UserSerivce { @Autowired UserMapper1 userMapper1; @Override public User findUserByName(String username) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.ne("username", username); return userMapper1.selectOne(queryWrapper); }
@Override public int addUser(String username, String password) { User user = new User(); user.setUsername(username); user.setPassword(Md5Util.getMD5String(password)); user.setCreateTime(LocalDateTime.now()); user.setUpdateTime(LocalDateTime.now()); return userMapper1.insert(user); } }
- UserController1 package org.example.springboot3.bigevent.controller;
import org.example.springboot3.bigevent.entity.Result; import org.example.springboot3.bigevent.entity.User; import org.example.springboot3.bigevent.service.UserSerivce; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;
/**
- Create by Sean on 2024/6/12 */ @RequestMapping("/user/") @RestController public class UserController1 { @Autowired UserSerivce userSerivce; @RequestMapping("register") public Result register(String username, String password){ User user=userSerivce.findUserByName(username); if(user==null){//用户不存在,可以注册 int i=userSerivce.addUser(username,password); if(i!=1){ return Result.error("失败注册,请稍后重新注册!"); } }else{ return Result.error("该用户已存在,请重新注册!"); } return Result.success(); } }
- Result package org.example.springboot3.bigevent.entity;
import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;
//统一响应结果 @Data @NoArgsConstructor @AllArgsConstructor public class Result { private Integer code;//业务状态码 0-成功 1-失败 private String message;//提示信息 private T data;//响应数据
//快速返回操作成功响应结果(带响应数据)
public static <E> Result<E> success(E data) {
return new Result<>(0, "操作成功", data);
}
//快速返回操作成功响应结果
public static Result success() {
return new Result(0, "操作成功", null);
}
public static Result error(String message) {
return new Result(1, message, null);
}
}
二、测试 1.注册
2.再次注册