软件工程日报03

今天练习了springboot技术,写了一个用户注册的功能(只写了后端代码)
首先创建了boot项目,pom文件继承了spring-boot-starter-parent依赖管理,大部分不需要自己配置
之后再yml文件中写数据库的配置

然后创建项目结构,和之前类似,实现注册功能。
主要步骤就是定义实现类User,创建mapper层接口UserMapper,创建service层,最后在controller中调用service层,实现业务逻辑
功能在postman测试
在之前注册功能的基础上做了以下功能扩展
①密码加密(将用户注册的密码,加密后保存到数据库),这里采用的是Md5工具类

@Override
    public void register(String username, String password) {
        //加密
        String md5String = Md5Util.getMD5String(password);
        userMapper.add(username,md5String);
    }

②对格式进行判断,在(5,16)长度区间(这里采用正则表达式进行判断)
配置validation依赖,在controller层加上注解

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
@PostMapping("/register")
    public Result register(@Pattern(regexp = "^\\S{5,16}$")String username, @Pattern(regexp = "^\\S{5,16}$")String password){
        User u = userService.findByUsername(username);
        if(u == null){
            //用户名没被占用  注册
            userService.register(username,password);
            return Result.success();
        }else{
            return Result.error("用户名已被占用");
        }
        }

③处理异常

@RestControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)
    public Result handleException(Exception e){
        e.printStackTrace();
        return Result.error(StringUtils.hasLength(e.getMessage())? e.getMessage() : "操作失败");
    }
}

posted @   Look_Back  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示