2.2 KiB
2.2 KiB
Gateway 模块指引
数据库访问与中文注释约束
- 强制遵守根
../AGENTS.md的“数据库访问与中文代码注释”全部规则:正常业务访问统一为Controller → Service → Repository → Mapper,不得省略 Repository 或跨层直调;生产 SQL 由 Mapper 执行,Repository 不得直接使用 JdbcTemplate 或原生 JDBC。非 HTTP 入口从 Service 进入;无数据库模块不引入数据库访问。 - 每个手写方法及构造器须有简短中文说明;核心业务规则、复杂 SQL、事务、锁、幂等、并发及失败处理须补充适量中文注释,重点说明原因和边界。新增、修改方法立即执行,触及的存量代码同步整改。
职责与边界
- 负责路由、CORS、JWT/Redis 会话校验、平台/客户访问域隔离、请求标识和 Swagger 聚合。
- 只做入口认证,不做业务编排;下游服务仍必须校验客户归属、数据范围和权限。
模块入口与验证
- 应用:
BaiyueGatewayApplication.java - Security/访问域:
config/GatewaySecurityConfig.java、AppScopeAuthorizationManager.java - 会话/CORS/请求头:
config/RedisTokenSessionWebFilter.java、GatewayCorsConfiguration.java、filter/TrustedIdentityHeaderFilter.java、CorrelationIdWebFilter.java - 路由配置:
src/main/resources/application*.yml、../config/nacos/test/gateway.yml - 测试:
src/test/java/com/baiyue/gateway/;mvn -pl gateway -am test
修改约束与分期
- 新增路由同步检查本地/Nacos、App Scope、CORS、公开路径和 Swagger;不得暴露内部令牌接口。
- 订单与客户承载登录后 Admin/Client 入口;入库测量与计费接入到仓/测量/计费公开路由但保持内部测量接口隔离;国内货柜履约仅在 Controller、权限和公开访问域契约稳定后新增必要路由,内部 PDA、仓储和服务令牌接口继续不得经 Gateway 暴露。
- 已知路由任务直接核对目标 Controller、公开访问域、权限、Gateway 配置和 OpenAPI;只有货柜业务范围或流程门禁不明时,才从
../../docs/国内货柜履约/README.md或../../docs/头程到尾程/README.md进入。归档开工门禁仅用于历史追溯,不以新增路由推定业务已完成。