# spring-feign **Repository Path**: xiaotuanzi1152/spring-feign ## Basic Information - **Project Name**: spring-feign - **Description**: 封装了feign的,可以直接在spring项目当中使用,提供了服务注册功能与服务消费功能 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-08-15 - **Last Updated**: 2023-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # spring-feign #### 项目介绍 封装了feign的,可以直接在spring项目当中使用,提供了注解方式的服务注册功与服务消费功能 #### 软件架构 1. [feign:web客户端](https://github.com/OpenFeign/feign) 2. spring:spring框架 3. okhttp3:http网络框架 4. zookeeper:用于服务发现 #### spring-feign-core使用方法 ``` @FeignConsumerScan(basePackages = {"test.xiaoyu.http.service"})//扫描指定包下的FeignConsumer注解 ``` ``` /** * 指定地址进行服务消费 */ @FeignConsumer(url= "http://127.0.0.1:8080") //消费方,url为服务方地址 @Config(decoder = FastJsonDecoder.class, encoder = FastJsonEncoder.class) //自定义配置,decoder为解码,encoder为编码方法 public interface TestApiService { @RequestLine("GET /getBsUser?token={token}")//Feign原生提供的注解,链接:https://github.com/OpenFeign/feign public List getBsUser(@Param("token") String token); } ``` 以下使用服务发现功能,需要安装zookeeper服务: ``` //在配置文件当中添加zookeeper地址 feign.zookeeper.ip=127.0.0.1:2181 ``` ``` @FeignService(name = "apiTest", url = "http://127.0.0.1:8084")//服务注册功能,name服务名称,url为本服务的地址,将会自动注册到zookeeper上 ``` ``` @FeignConsumer(name= "apiTest") //去掉url配置,添加name,将会启用服务发现功能, ```