2026.6.18
SpringBoot拦截器与前后端联调
一、拦截器与ThreadLocal(登录上下文传递)
- ThreadLocal核心作用
为每个请求线程独立存储变量,线程间数据隔离,用于整条请求链路传递登录用户信息。
核心方法:
set():存入当前线程用户数据
get():读取当前线程用户
remove():清除数据,防止内存泄漏
- UserContext工具类
封装静态ThreadLocal对象,提供统一存取、删除用户ID的静态方法,全局快速获取登录用户。
- Token校验拦截器
请求进入时拦截,解析请求头JWT令牌,校验合法性;校验通过将用户存入UserContext;请求结束调用remove()清理线程数据。
- Controller业务使用
直接调用工具类获取当前登录用户ID,完成发布、删除新闻等操作的身份绑定。
二、新闻模块CRUD(RESTful规范)
-
RESTful API设计
使用标准HTTP方法区分操作:GET查询、POST新增、PUT修改、DELETE删除。 -
News实体类
补充标题、内容、作者ID、创建时间、逻辑删除等业务字段。 -
分层开发
Service:封装新闻查询、发布、编辑、删除业务逻辑
Controller:接收前端请求,调用Service并返回统一结果
- 权限控制逻辑
通过UserContext拿到当前登录用户,校验操作人是否为新闻发布者,非作者禁止修改/删除。
三、前后端联调流程
-
联调前置准备
-
启动MySQL数据库服务
-
运行NewsApplication.java启动SpringBoot后端
-
配套内容
常见接口报错问题排查方案
完整请求示例(登录、发布新闻、分页查询、删除)

浙公网安备 33010602011771号