OpenFeign的一些知识

使用OpenFeign实现远程HTTP调用

11212144

常见HTTP客户端有哪些?

问:HTTP是个网络协议,具体指的是什么协议?在什么情况下用的?

问:http和https有什么区别?

常见HTTP客户端有如下四个:

HttpClient 可以配置线程池

Okhttp 可以配置线程池

HttpURLConnection  单线程的

RestTemplate

问:什么是http客户端?

HTTP 介绍_http客户端_cuckoo_yang的博客-CSDN博客

问:什么是超文本?

超文本(Hypertext) - 知乎 (zhihu.com)

二、OpenFeign的组成

三、细粒度配置自定义

代码方式-指定日志级别

属性方式-指定日志级别

找到哪个函数,写一些什么语句?

四、全局配置自定义

使用属性指定日志级别

feign:client:config:default:loggerLevel:full

五、支持的配置项

1、契约配置

public Contract feignContract(){

return new SpringMvcContract();

}

2、编解码

3、拦截器

创建了一个拦截器,继承HandlerIntercepter 重写preHandle方法

下面还需要将它配置上去

怎么配置?直接在配置文件里增加属性配置?还是需要写一个配置类?需要写一个类,告诉框架用这个拦截器

写一个类,类里面继承WebMvcConfigurationSupport,重写addInterceptors方法

4、Client设置

首先集成HttpClient,??为什么要集成?本来的框架里面没有么?

怎么集成?

第一步 引入相应依赖

第二步 配置相应注解

问:怎么确定在发请求的时候用的是httpClient?

打一个断点,运行后确实到这里来了

如果没有自定义配置,那么框架里边原始的client,会运行这些代码。默认用的JDK

使用okhttp

第一步 引入依赖

第二步 修改属性

okhttp:enabled:true  

五、配置超时时间  request.Options(){}

六、推荐配置方式

尽量使用属性配置,属性方式实现不了的情况下再考虑代码配置

一般配置日志和超时时间,用属性配置,contract一般不会动,很麻烦

同一微服务尽量保持单一,统一属性配置,或代码配置。不要混用,会增加定位代码的复杂性

七、源码分析

第一步 createContext

第二步 

11221621

名称是map里的key,,通过名称获得上下文,进行请求就行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值