Feign 远程调用

Posted chenziyue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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: eureka-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服务 并且有负载均衡的能力。

以上是关于Feign 远程调用的主要内容,如果未能解决你的问题,请参考以下文章

Spring全家桶-Feign远程调用

十SpringCloud实用篇_Feign远程调用

十SpringCloud实用篇_Feign远程调用

springcloud系列四 feign远程调用服务

本地调用Feign远程接口

Feign远程调用原理