OpenFeign的使用方式成功解锁

引言

Hello 大家好

 之前和大家分享了关于OpenFeign在某些场景下的一些处理和使用方法,而今天Anyin再次解锁了OpenFeign的又一个使用场景,只能说真香。

在我们日常开发中,相信大家都会接触过对接第三方系统。对接第三方系统最烦人的工作可能就是刚开始对接的时候关于认证、加密、验签、JSON正反序列化等一系列的操作了。

我们知道OpenFeign它其实是一个http的客户端,主要的应用场景就是在微服务体系内进行微服务之间的相互调用;那么它是不是也可以实现第三方调用?

很明显是可以的!!!

需求分析

在验证我们的观点:OpenFeign可以实现第三方系统的调用之前,我们先找一个公开的第三方系统协议进行一波简单的需求分析吧。

这里我们使用中电联(中国电力企业联合标准)的协议文档为例。这里附上下载地址,有需要的同学可以自取。

中国电力企业联合标准

以下为协议文档对于密钥的要求。

通过查看协议文档,我们知道整个对接过程会设计到以下几个需求:

  1. 调用方式统一使用POST方式
  2. 传输格式使用JSON
  3. 传输过程业务数据需要进行加密
  4. 传输过程整包数据需要生成签名,因为服务端会进行验签,保证数据没有被篡改
  5. 在进行第三方调用的时候需要像调用其他本地的Service一样丝滑(行为一致)

业务实现

为了通过OpenFeign实现以上需求,我们首先定义一个配置类,用于自定义客户端的配置类。

@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(CECOperatorProperties.class)
public class CECFeignClientConfig implements RequestInterceptor {
    @Autowired
    private CECOperatorProperties properties;
    @Override
    public void apply(RequestTemplate requestTemplate) {}    
}
复制代码
  1. 实现RequestInterceptor接口,这里是为了在进行认证拿到access_token之后,可以通过拦截器在header头放入对应的token信息
  2. 注入CECOperatorProperties属性,对于加解密、验签等操作需要的一些秘钥信息,从配置中心获取后,注
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值