软件工程日报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() : "操作失败");
    }
}

 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号