SpringBoot实战篇之注册接口

72 阅读1分钟

前言 下面介绍用户注册接口。

一、代码部分

  1. 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 { }
  1. 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); } }

  1. 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(); } }
  1. 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.注册

image.png

2.再次注册

image.png