Feign 远程调用


什么是Feign?

Feign是一个http请求调用的轻量级框架 可以使用Java接口注解的方式调用Http请求

 

为什么要用Feign?

Feign采用了声明式API 接口的风格 客户端调用过程变得简单

 

案例

新建工程(继承父工程)

 

 

导入依赖

 

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-feign</artifactId>
    </dependency>
  </dependencies>

 

添加配置文件

server:
  port: 8008
eureka:
  instance:
    hostname: feign-client
  client:
    service-url:
      defaultZone:
        http://eureka01:8001/eureka/
    register-with-eureka: true

spring:
  application:
    name: fegin-client
    
ribbon:
  eureka:
    enabled: true
    

 

创建一个接口

 

// FeginClient 客户端 value 为远程调用的实例名
@FeignClient(value = "eureka-client") public interface EurekaClientFeign { @GetMapping(value = "/hi/{name}") String sayHi(@PathVariable(value = "name") String name); }

 

添加代码

 

@RestController
public class HiController {
    @Autowired
    EurekaClientFeign eurekaClientFeign;
    @GetMapping("/test")
    public String sayHi(){
        return eurekaClientFeign.sayHi("sss");
    }
}

 

依次启动 

 

 

打开浏览器访问

 

 

刷新

 

 

Feign 远程调用了eureka_client服务 并且有负载均衡的能力。

 

 

                            


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM