【feign】OpenFeign设置header的5种方式

【feign】OpenFeign设置header的5种方式,第1张

在微服务间使用Feign进行远程调用时需要在 header 中添加信息,那么 springcloud open feign 如何设置 header 呢?有5种方式可以设置请求头信息:

由于Feign是完全支持Spring MVC注解的, 所以推荐使用前两种Feign设置header的方式, 即: Spring MVC中使用注解设置header.

在application.yml中配置

编写feignClient

FeignClient使用 @RequestLine 注解, 而未配置feign自带契约 Contract 时, @Headers 不会起作用, 而且启动项目会报错:

查阅官方文档,feign 默认使用的是spring mvc 注解(就是RequestMapping 之类的) ,所以需要通过新增一个配置类来修改其契约 ,即可可以解决该问题了。

使用@Param可以动态配置Header属性

同上

值得注意的一点是:如果FeignRequestInterceptor注入到spring容器的话就会全局生效, 就是说即使在没有指定configuration属性的FeignClient该配置也会生效, 为什么呢?有兴趣的请看源码分析.

配置@Component或@Service 或 @Configuration 就可以将该配置注入spring容器中, 即可实现全局配置, 从而该项目中的所有FeignClient的feign接口都可以使用该配置.

如果只想给指定FeignClient的feign接口使用该配置, 请勿将该类配置注入spring中.

之前一直没有写ES相关的博文,现在开始补课,预计5-6篇博文将es的使用姿势展示给各位小伙伴;本文将作为es结合springboot的第一篇博文,基本项目环境搭建

本项目借助 SpringBoot 2.2.1.RELEASE + maven 3.5.3 + IDEA 进行开发

开一个web服务用于测试

配置文件application.yml,注意下面的配置信息,下面采用的是由我们自己来解析配置的方式

说明

上面配置介绍的是一种偏基础的es文档 *** 作姿势,相比较于封装得更好的 spring-boot-starter-data-elasticsearch ,使用更加灵活

接下来我们基于 RestHighLevelClient 来 *** 作es,首先第一步就是需要初始化这实例

注意上面的实现,用户名 + 密码并没有使用,当es设置了用户名、密码之后,是通过每次请求时,在请求头基于Basic Auth方式进行身份验证的;后面会介绍到

我们在本机搭建了一个es用于模拟测试,在上面的配置完之后,就可以直接与es进行交互了

下面是一个简单的使用姿势

注意上面的实现,有下面几个重要知识点

身份验证

采用Basic Auth方式进行身份校验,简单来说就是在请求头中添加一个

• key = Authorization

• value = "Basic " + base64(user + ":" + pwd)

访问姿势

上面是一个根据 id 查询文档的实例,简单可以理解为三步

•创建: XxRequest

•添加请求头: RequestOptions.Builder.addHeader

•执行: client.get(xxRequest, RequestOptions)

•工程:https://github.com/liuyueyi/spring-boot-demo

•源码:https://github.com/liuyueyi/spring-boot-demo/tree/master/spring-boot/142-search-es

尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

下面一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

•一灰灰Blog个人博客 https://blog.hhui.top

•一灰灰Blog-Spring专题博客 http://spring.hhui.top

[1] 200605-Centos 安装ElasticSearch - 一灰灰Blog:https://blog.hhui.top/hexblog/2020/06/05/200605-Centos-%E5%AE%89%E8%A3%85ElasticSearch/

[2] 210329-Elastic &Kibana安装与基本使用 - 一灰灰Blog:https://blog.hhui.top/hexblog/2021/03/29/210329-Elastic-Kibana%E5%AE%89%E8%A3%85%E4%B8%8E%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8/


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/8023929.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存