若依框架解读(微服务版)——2.模块间的调用逻辑(ruoyi-api模块)(OpenFeign)(@innerAuth)
模块之间的关系
我们可以了解到一共有这么多服务,我们先启动这三个服务
其中rouyi–api模块是远程调用也就是提取出来的openfeign的接口
ruoyi–commom是通用工具模块
其他几个都是独立的服务
ruoyi-api模块
api模块当中有几个提取出来的OpenFeign的接口
分别为文件,日志,用户服务
我们以RemoteUserService接口为例子:其中contextId = "remoteUserService"为bean的名称,
value = ServiceNameConstants.SYSTEM_SERVICE为接口的描述,
fallbackFactory = RemoteUserFallbackFactory.class调用失败时候的降级策略,一般会打印返回错误日志信息
接下来查看接口提供方和调用方
提供方
调用方
我们注意这几个地方。通过自定义注解@innerAuth+AOP来拒绝外部请求
切面逻辑
但是这依然存在一个问题,就是我们可以用postman之类的工具,配置一个请求头携带参数
from-source:inner 从而来在外部直接访问内部服务。若依在网关这里通过过滤器将外部请求做了一次处理,清楚的携带这个参数的可能
还有一点就是不同服务间的调用需要携带一些参数,若依通过拦截器来进行相关的设置
完结撒花!!!