• 2024-09-13Spring Cloud全解析:服务调用之Feign简介
    Feign简介Feign是Netflix开发的一个声明式的HTTP客户端(远程服务调用组件),只需要接口+注解即可完成对于微服务的调用,不需要使用RestTemplate+Ribbon来对微服务进行访问,简化了编程,其是基于动态代理机制,目标是减少HTTP调用的复杂性依赖<!--feign--><dependency><groupId>
  • 2024-07-23OpenFeign
    ♥️作者:小宋1021
  • 2024-07-20Spring Book Club + java查询数据库 + 百万数据 + 同步Elasticsearch(ES)+ 多线程 + FeignClient(远程调用)
    @FeignClient(name="bwie-elastic")publicinterfaceEsFeign{@PostMapping("/add")publicResultadd(@RequestBodyArrayList<ResourceInfo>resourceInfo);}@RestControllerpublicclassUserControllerimplementsApplica
  • 2024-07-14OpenFeign 使用细节
    @FeignClient注解配置项public@interfaceFeignClient{//和value互为别名,标示要调用哪个服务,要和nacos上面的服务名一致@AliasFor("name")Stringvalue()default"";//当服务提供者的接口太多了,调用方想分为多个FeignClient,就要指定不同的
  • 2024-07-10spring clound @FeignClient @RequestHeader 设置token cookie
     publicMap<String,String>populateHeaders(){Map<String,String>headers=newHashMap();Stringcookie=this.getCookie();if(StringUtils.isNoneBlank(newCharSequence[]{cookie})){headers.put(&quo
  • 2024-06-09SpringCloud-OpenFeign拓展-连接池、最佳使用方法、日志输出
    目录1OpenFeign连接池1.1常见连接类型1.2连接池使用方法1.2.1引入依赖1.2.2开启连接池功能1.2.3配置完成,重启实例即可,底层将更改设置。2OpenFeign最佳使用方法2.1每个微服务都是单独的project,内部有三个独立模块2.2每个微服务都是一个module,一个project,内设
  • 2024-04-25使用Spring HttpExchange替代FeignClient进行http远程服务调用
    背景springboot3.0使用的springframework6.0里有一个全新的http服务调用注解@HttpExchange,该注解的用途是可以进行申明式http远程服务调用。与Feign作用相同,在springboot3.x里,由于本身spring内置,相比Feign可以大幅减少第三方包依赖,且比Feign进轻巧。依赖:@HttpExchange位
  • 2024-04-24客户端使用 FeignClient 调用服务端服务时,报错:Request method ‘POST‘ not supported
    客户端使用FeignClient调用服务端服务时,报错:Requestmethod‘POST‘notsupported修改错误前调用方式:FeignClient 接口服务@FeignClient(contextId="remotePayFormService",value="payment-service-system")publicinterfaceRemotePayFormService{@GetMap
  • 2024-04-12FeignClient的拦截器中RequestContextHolder.getRequestAttributes()值为null
    一、遇到问题在@FeignClient的拦截器中获取token,我首先获得RequestContextHolder.getRequestAttributes(),结果发现值为null。``二、资料查找内事不决问百度,感觉百度了一下,很快我发现其他人也有通用报null的问题,只是他们是出现在子线程中,所以我猜测@FeignClient调用的时候为异
  • 2024-03-26Spring Cloud: openFegin使用
    文章目录一、OpenFeign简介二、Springboot集成OpenFeign1、引入依赖2、@EnableFeignClients注解(1)应用(2)属性解析3、@FeignClient(1)应用(2)属性解析(3)向Fegin客户端提供URL的几种方式三、openFegin应用1、使用openfegin下载文件一、OpenFeign简介OpenFeign利用Ribbo
  • 2024-03-23【OpenFeign】@FeignClient 代理对象的创建源码分析
    1 前言我们从上节 【OpenFeign】@FeignClient注入过程源码分析 继续,来看看它代理对象的创建,以及请求的执行过程。我们就从它的 FeignClientFactoryBean看起,那我们这里简单回忆下它都设置了哪些属性,我简单画了个图。这些属性不了解的话,就先看看上节哈,有详细的说明,我这里
  • 2024-03-21【OpenFeign】@FeignClient 注入过程源码分析
    1 前言微服务之间的调用,OpenFeign是一种选择,并且还提供了很多功能,比如我们有多个节点,它能负载均衡,当服务发生异常时,它还能提供熔断机制。所以它是怎么实现的,因为我们平时只需要写@FeignClient是个接口,所以它势必会走代理,所以是不是要从我们的@FeignClient 下手。那么这节
  • 2024-03-13使用@FeignClient中的fallback属性处理接口调用异常问题
    说明当使用feign远程调用接口是,如果接口返回异常或者超时时,我们可以统一返回异常信息,这样调用者就不用再显式的try-catch处理异常了开启接口fallback处理想要使用fallback处理接口异常须在配置文件开启feign:hystrix:enabled:true定义feign接口在@FeignClient上
  • 2024-02-2510.Feign组件在NET中的简单使用
    安装包:SummerBootFeign是一种声明式服务调用组件,我们只需要声明一个接口并通过注解进行简单的配置(类似于Dao接口上面的Mapper注解一样)即可实现对HTTP接口的绑定。通过Feign,我们可以像调用本地方法一样来调用远程服务,而完全感觉不到这是在进行远程调用。Feign底层基于h
  • 2024-01-17Feign超时
    @FeignClient(name="feignClient",url="${aaa.Url:http://127.0.0.1:80}",configuration={CustFeignConfig.class})publicinterfaceFeignClient{@PostMapping("/service/query")@Headers({"Connect-timeout:60000"
  • 2024-01-10Feign-基于Feign远程调用(八)
    1Feign替代RestTemplateRestTemplate方式调用存在的问题使用RestTemplate发起远程调用的代码:Stringurl="http://userservice/user/"+order.getUserId();Useruser=restTemplate.getForObject(url,User.class);存在下面的问题:代码可读性差,编程体验不统一;参数
  • 2023-12-16Feign源码解析:初始化过程(一)
    前言打算系统分析下Feign的代码,上一篇讲了下Feign的历史,本篇的话,先讲下Feign相关的beanDefinition,beanDefinition就是bean的设计图,bean都是按照beanDefinition来制造的。Feign相关的bean不少,有一些是因为我们的Feign相关注解而引入的,有一部分是因为spring的自动装配来自动引入的
  • 2023-10-09@FeignClien注解
    @FeignClient是SpringCloud中的一个注解,用于定义一个声明式的REST客户端。它可以让我们像调用本地方法一样调用远程服务。@FeignClient注解有以下属性:name:指定FeignClient的名称,用于创建FeignClient的SpringBean,默认值为类名的简单名称。value:同 name,用于指定FeignC
  • 2023-09-30声明式调用 —— SpringCloud OpenFeign
    Feign简介SpringCloudFeign是一个HTTP请求调用的轻量级框架,可以以Java接口注解的方式调用HTTP请求,而不用通过封装HTTP请求报文的方式直接调用Feign通过处理注解,将请求模板化,当实际调用的时候传入参数,根据参数再应用到请求上,进而转化成真正的请求第一个Feign程
  • 2023-09-14多个feign接口使用@FeignClient注解调用同一个名称的微服务时,启动会发生异常
    解决方案:方法1.将feign接口合并方法2.在application.yml文件中增加配置spring.main.allow-bean-definition-overriding=true方法3.在@FeignClient注解上增加contextId属性,确保每个feignclient的contextId唯一。如@FeignClient(name="服务名",contextId="唯一名称")
  • 2023-08-15仿@FeignClient实现使用Http请求外部服务
    因为某些原因,原本注册在同一个nacos里的部分微服务需要拆分出去,而拆分出去的那部分服务调用方式需要修改。所以为了简单省事,加个了@HttpClient注解用来替换@FeignClient。三步走:  1、@HttpClient注解  2、扫描被@HttpClient注解的接口  3、为扫描到的接口创建代理类@Ht
  • 2023-08-15[转载]Feign:实现动态URL
    https://blog.csdn.net/kirk15951859811/article/details/117067488@FeignClient(name="mekFeignClient",fallback=MekFeignClientFallback.class,configuration=RemoteFeignConfig.class)publicinterfaceMekFeignClient{@RequestLine("GET")
  • 2023-07-25FeignClient 动态获取nacos中的配置,线上更改后能热更新
    1.设置nacos变量在一个类中@Component@RefreshScope@ConfigurationProperties(prefix="testC")publicclassSupplierInfoRakuten{privateStringversion;publicStringgetVersion(){returnversion;}publicvoidsetVersion(Str
  • 2023-07-15FeignClient服务端接口404问题
    自定义feignClient,服务端继承client接口,调用出现404异常。问题原因:feignClient接口的实现类上使用@Controller或@RestController的value属性中写入了公共url,导致接口方法404;因为feignClient是根据服务名在注册中心拉取到服务然后路由到feignClient接口的实现类上,跳过了类上的url