feign A服务调用B服务丢失token

在使用SpringCloud开发微服务项目时,从A服务调用B服务的接口,会出现请求头参数出错的情况,一半情况下是不会出现任何问题的,但是当我们在请求头中添加了token认证信息的时候,也就是说,我们的服务需要认证的时候就会导致Feign请求出现401的错误。

解决办法,利用拦截器,在每次调用Feign请求之前,把Header内的信息给到新请求中。添加一个拦截器


	/**
	 * 解决feign调用丢失token解决方案, 新增拦截器
	 *
	 * @return
	 */
	@Bean
	public RequestInterceptor requestInterceptor() {
   
		return template -> {
   
			ServletRequestAttributes attributes = ServletRequestAttributes
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Feign是一个用于实现接口代理远程调用的组件。在进行跨服务调用时,首先需要定义一个Feign接口。这个接口用于声明需要调用的目标服务的方法和参数。接着,通过注解@FeignClient来指定需要调用服务的名称。例如,使用@FeignClient("coupon-template-service")来指定调用coupon-template-service服务。然后,可以在接口中使用@GetMapping或@RequestMapping等注解来指定具体的请求路径和参数。最后,通过在方法上添加@RequestParam或@RequestBody等注解来传递参数。这样就完成了Feign的跨服务调用配置。 Feign的跨服务调用是通过动态代理实现的,它会根据接口的定义在运行时动态生成代理类,并通过代理类来发起远程调用。因此,在实际调用时,我们只需要像调用本地方法一样调用Feign接口的方法即可。总结起来,Feign服务调用的具体步骤为:1) 定义Feign接口;2) 使用@FeignClient注解指定调用服务名称;3) 在接口中定义具体的请求路径和参数;4) 通过注解传递参数;5) 调用Feign接口的方法来发起远程调用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [使用 OpenFeign 实现跨服务调用](https://blog.csdn.net/weixin_40364776/article/details/128696456)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [怎样使用feign进行远程调用其他服务](https://blog.csdn.net/qq_55278081/article/details/126308889)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Spring boot2X Consul如何使用Feign实现服务调用](https://download.csdn.net/download/weixin_38602982/12744704)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值