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进行接口测试,具体的访问路径和参数如下:

运行结果如下:

前后端联调

登陆失败

登录成功

相关推荐
海参崴-2 分钟前
C语言与C++语言发展历史详解
java·c语言·c++
无尽的罚坐人生5 分钟前
hot 100 146. LRU 缓存
java·开发语言·缓存
好家伙VCC6 分钟前
**发散创新:基于算子融合的深度学习推理优化实战**在现代AI部署场景
java·人工智能·python·深度学习
wd5i8kA8i9 分钟前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
java·开发语言·php
小江的记录本13 分钟前
【RocketMQ】RocketMQ核心知识体系全解(5大核心模块:架构模型、事务消息两阶段提交、回查机制、延迟消息、顺序消息)
linux·运维·服务器·前端·后端·架构·rocketmq
却话巴山夜雨时i13 分钟前
Java大厂面试:从Spring Boot到微服务的深度剖析
java·spring boot·spring cloud·微服务·分布式事务·大厂面试
希望永不加班17 分钟前
SpringBoot 缓存注解:@Cacheable/@CacheEvict 使用
java·spring boot·spring·缓存·mybatis
KhalilRuan24 分钟前
HybridCLR的底层原理
java·开发语言
源码站~26 分钟前
基于Spring Boot+Vue3的烹饪交流学习系统 设计与实现
java·vue.js·spring boot·后端·mysql·毕业设计·毕设
jinanwuhuaguo29 分钟前
OpenClaw办公人员核心技能深度培训体系:从认知重塑到数字组织构建的全链路实战指南
java·大数据·开发语言·人工智能·openclaw