【第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.再次注册


总结

回到顶部

相关推荐
IT学长编程2 分钟前
计算机毕业设计 玩具租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·玩具租赁系统
杨哥带你写代码23 分钟前
足球青训俱乐部管理:Spring Boot技术驱动
java·spring boot·后端
A尘埃1 小时前
SpringBoot的数据访问
java·spring boot·后端
yang-23071 小时前
端口冲突的解决方案以及SpringBoot自动检测可用端口demo
java·spring boot·后端
Marst Code1 小时前
(Django)初步使用
后端·python·django
代码之光_19801 小时前
SpringBoot校园资料分享平台:设计与实现
java·spring boot·后端
编程老船长1 小时前
第26章 Java操作Mongodb实现数据持久化
数据库·后端·mongodb
IT果果日记2 小时前
DataX+Crontab实现多任务顺序定时同步
后端
苹果醋33 小时前
快速玩转 Mixtral 8x7B MOE大模型!阿里云机器学习 PAI 推出最佳实践
spring boot·nginx·毕业设计·layui·课程设计
程序员大金3 小时前
基于SpringBoot+Vue+MySQL的装修公司管理系统
vue.js·spring boot·mysql