2026.6.18

SpringBoot拦截器与前后端联调

一、拦截器与ThreadLocal(登录上下文传递)

  1. ThreadLocal核心作用

为每个请求线程独立存储变量,线程间数据隔离,用于整条请求链路传递登录用户信息。
核心方法:

set():存入当前线程用户数据

get():读取当前线程用户

remove():清除数据,防止内存泄漏

  1. UserContext工具类

封装静态ThreadLocal对象,提供统一存取、删除用户ID的静态方法,全局快速获取登录用户。

  1. Token校验拦截器

请求进入时拦截,解析请求头JWT令牌,校验合法性;校验通过将用户存入UserContext;请求结束调用remove()清理线程数据。

  1. Controller业务使用

直接调用工具类获取当前登录用户ID,完成发布、删除新闻等操作的身份绑定。

二、新闻模块CRUD(RESTful规范)

  1. RESTful API设计
    使用标准HTTP方法区分操作:GET查询、POST新增、PUT修改、DELETE删除。

  2. News实体类
    补充标题、内容、作者ID、创建时间、逻辑删除等业务字段。

  3. 分层开发

Service:封装新闻查询、发布、编辑、删除业务逻辑

Controller:接收前端请求,调用Service并返回统一结果

  1. 权限控制逻辑
    通过UserContext拿到当前登录用户,校验操作人是否为新闻发布者,非作者禁止修改/删除。

三、前后端联调流程

  1. 联调前置准备

  2. 启动MySQL数据库服务

  3. 运行NewsApplication.java启动SpringBoot后端

  4. 访问地址:http://localhost:8080

  5. 配套内容

常见接口报错问题排查方案

完整请求示例(登录、发布新闻、分页查询、删除)

posted @ 2026-06-22 11:32  sesesese  阅读(2)  评论(0)    收藏  举报