Skip to content

YouthDelay/feign-local-enhancer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

feign-local-enhancer

目的

简化本地环境Feign调用,或指定特地url进行测试。

原理

主要是通过Feign.Builder来生成FeignClient的代理对象,来替代OpenFeign源码中生成代理对象的过程。

具体介绍可以看我写的这篇:

https://mp.weixin.qq.com/s/BDdG9oGh8Wew3WGSEN-dwg

使用

本地打包:

mvn clean install

引入依赖,这个包中已经导入了OpenFeign,所以不需要再额外引入OpenFeign了。

<dependency>
    <groupId>com.cn.hydra</groupId>
    <artifactId>feign-local-enhancer</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

配置文件:

feign:
  local:
    enable: true
    basePackage: com.service
    addressMapping:
      hydra-service: http://127.0.0.1:8088
      trunks-service: http://127.0.0.1:8099

FeignClient:

@FeignClient(value = "hydra-service",
  url = "http://127.0.0.1:8099/")
public interface ClientA {
    @GetMapping("/test/get")
    String get();
}

项目启动时无需添加@EnableFeignClient注解。

我们在配置文件中配置了hydra-service这个微服务的地址为http://127.0.0.1:8088,所以这个微服务的请求调用会被打到这个特定地址。

即使我们在FeignClient注解上已经配置了这个url,也会被配置文件中的覆盖。

使用原生OpenFeign

如果想要使用原生OpenFeign的功能,那么把enable改为false,basePackage还是扫描FeignClient的路径:

feign:
  local:
    enable: false
    basePackage: com.service

使用这个配置的话,项目启动时仍然无需添加@EnableFeignClient注解。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%