SpringBoot案例-基础登录功能

根据页面原型,明确需求

页面原型

需求

账号密码输入正确方可进入

阅读接口文档

接口文档连接如下:

https://hkm-web.oss-cn-beijing.aliyuncs.com/%E6%8E%A5%E5%8F%A3%E6%96%87%E6%A1%A3

思路分析

后端接收到前端传递的用户名及密码之后,在数据库中进行查询,如果查询到该用户信息的存在就允许登录,否则就拒绝登录,查询的结果是一个Emp对象类型的数据

接口功能的实现

控制层(Controller类)

具体关键代码如下:

java 复制代码
public class LoginController {
    @Autowired
    private EmpService empService;

    @PostMapping("/login")

    public Result Login(@RequestBody Emp emp) {
        log.info("员工登录:{}", emp);
        Emp e = empService.Login(emp);
        return e != null ? Result.success() : Result.error("用户名或密码错误");
    }
}

业务层(Service类)

具体关键代码如下:

业务类

java 复制代码
Emp Login(Emp emp);

业务实现类

java 复制代码
    @Override
    public Emp Login(Emp emp) {
        Emp empResult = empMapper.getByUsernameAndPassword(emp);
        return empResult;
    }

持久层(Mapper类)

具体关键代码如下:

java 复制代码
    /**
     * 根据用户名和密码查询用户信息
     *
     * @param emp
     * @return
     */
    @Select("select * from emp where username=#{username} and password=#{password}")
    Emp getByUsernameAndPassword(Emp emp);

接口测试

使用postman进行接口测试,具体的访问路径和参数如下:

运行结果如下:

前后端联调

登陆失败

登录成功

相关推荐
陈大爷(有低保)16 分钟前
UDP Socket聊天室(Java)
java·网络协议·udp
kinlon.liu30 分钟前
零信任安全架构--持续验证
java·安全·安全架构·mfa·持续验证
王哲晓1 小时前
Linux通过yum安装Docker
java·linux·docker
java6666688881 小时前
如何在Java中实现高效的对象映射:Dozer与MapStruct的比较与优化
java·开发语言
Violet永存1 小时前
源码分析:LinkedList
java·开发语言
执键行天涯1 小时前
【经验帖】JAVA中同方法,两次调用Mybatis,一次更新,一次查询,同一事务,第一次修改对第二次的可见性如何
java·数据库·mybatis
Adolf_19931 小时前
Flask-JWT-Extended登录验证, 不用自定义
后端·python·flask
Jarlen1 小时前
将本地离线Jar包上传到Maven远程私库上,供项目编译使用
java·maven·jar
蓑 羽1 小时前
力扣438 找到字符串中所有字母异位词 Java版本
java·算法·leetcode
叫我:松哥1 小时前
基于Python flask的医院管理学院,医生能够增加/删除/修改/删除病人的数据信息,有可视化分析
javascript·后端·python·mysql·信息可视化·flask·bootstrap