【第1章】SpringBoot实战篇之注册接口

文章目录


前言

下面介绍用户注册接口。


一、代码部分

1. User

java 复制代码
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

java 复制代码
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 zjg on 2024/5/22
 */
@Mapper
public interface UserMapper1 extends BaseMapper<User> {
}

3. UserSerivce

java 复制代码
package org.example.springboot3.bigevent.service;

import org.example.springboot3.bigevent.entity.User;

/**
 * Create by zjg on 2024/5/22
 */
public interface UserSerivce {
    User findUserByName(String username);

    int addUser(String username, String password);
}
java 复制代码
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 zjg on 2024/5/22
 */
@Service
public class UserSerivceImpl implements UserSerivce {
    @Autowired
    UserMapper1 userMapper1;
    @Override
    public User findUserByName(String username) {
        QueryWrapper<User> 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);
    }
}

4. UserController1

java 复制代码
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 zjg on 2024/5/22
 */
@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();
    }
}

5. Result

java 复制代码
package org.example.springboot3.bigevent.entity;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

//统一响应结果
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result<T> {
    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.再次注册


总结

回到顶部

相关推荐
Nebula_g13 分钟前
C语言应用实例:斐波那契数列与其其他应用
c语言·开发语言·后端·学习·算法
芝士AI吃鱼43 分钟前
我为什么做了 Cogniflow?一个开发者关于“信息流”的思考与实践
人工智能·后端·aigc
调试人生的显微镜1 小时前
HTTPS是什么端口?443端口的工作原理与网络安全重要性
后端
英伦传奇1 小时前
MyBatis-Plus Dynamic Table Starter:分表不再痛苦,一行注解搞定
后端
Mos_x1 小时前
集成RabbitMQ+MQ常用操作
java·后端
该用户已不存在1 小时前
AI编程工具大盘点,哪个最适合你
前端·人工智能·后端
间彧2 小时前
云服务相关术语解读
后端
Ray662 小时前
JDK21 升级
后端
间彧2 小时前
SkyWalking详解与应用实战
后端
用户3777967210962 小时前
BeanPostProcessor失效?
spring boot