## 用户账户微服务 ### 用户身份登录统一拦截 - 所有需要开发的微服务通用的配置 ### 集成 Swagger2 实现代码即文档 - ### 用户账户微服务功能设计 - ### 数据表及 ORM 过程 - ### 用户地址与余额服务接口定义 - Service 返回包装成类进行返回, 尽量不要仅仅只返回一个ID, 防止后续的扩展需求 - 不要设计通过请求参数来获取当前用户的余额信息, 因为可以通过请求劫持来拿到别的请求信息, 防止越权 ### 用户地址相关服务接口实现 ### 用户地址服务接口可用性测试(测试用例) ### 用户余额相关服务接口实现 ### 用户余额服务接口可用性测试(测试用例) ### 用户账户微服务对外 HTTP 接口 ### 验证用户账户微服务功能可用性 ```json [ { "id": "dev-protocol-springcloud-project-account-service", "order": 0, // order 越小优先级越高0 "predicates": [ { "args": { "pattern": "/dev-protocol-springcloud-gateway/dev-protocol-springcloud-project-account-service/**" }, "name": "Path" } ], "uri": "lb://dev-protocol-springcloud-project-account-service", "filters": [ { "name": "HeaderToken" }, { "name": "StripPrefix", "args": { "parts": "1" // 用来跳过上面的 pattern 前面的配置, 因为 [bootstrap.yml] 中的配置 context-path } } ] } ] ``` - 补充放在nacos 的 gateway 的配置文件中 ### 用户账户微服务总结 - 微服务开始之前的准备工作 - 用户身份登录拦截 - 在请求进入 service 之前解析 header 中的 token 信息, 并填充用户信息到上下文中 - 在请求结束之后,清理掉上下文中的用户信息 - 对于一些特定的 HTTP 请求不要拦截(即白名单 ) - 代码即文档:引入 Swagger - pom 中添加依赖配置 - 自定义配置 Swagger --- - 微服务模块的设计思想 - 微服务模块应该是低耦合、尽可能多的重用代码 - Tips:设计并不唯-! - ![用户账户微服务总设计.png](pic/用户账户微服务总设计.png) --- - 用户账户微服务的功能及在业务中的位置 - ![账户微服务在业务中的位置.png](pic/账户微服务在业务中的位置.png)