
回复
3、实现签名校验
上述只是简单实用Feign,接下来以实现签名校验为例展示Feign的扩展机制。
签名验证是最常见的安全机制,首先在客户端定义一个签名拦截器,用于生成签名信息,示范代码如下图所示:
并且在Feign的全局配置文件中创建对应的拦截器,示例代码如下:
同时在服务端获取token并对token进行校验,示例代码如下:
4、服务端自动生成Feign
上面的示例虽然实现了服务接口的声明式管理,但调用端、客户端并没有显示的约束关系,接下来展示如何使用客户端、服务端使用继承方式定义服务调用API。
例如要实现如下图的效果:
原生的Feign无法实现该效果,我们需要使用OpenFeign类库,两者之间的对比如下图所示:
接下来详细介绍具体实现方法。
4.1 提取公共API
首先使用一个模块定义公共API,需要引入maven依赖,代码示例如下所示:
接下来定义公共的服务接口,客户端、服务端都需要实现该接口,公共服务端接口定义如下:
文章转自公众号:中间件兴趣圈