Feign

2022-09-15 14:09:22 浏览数 (1)

1、认识Feign

1.1、Feign概述

Feign是一个声明式的Web Service客户端,它使编写Web Service客户端变得容易。Spring Cloud为Feign客户端添加了Spring MVC的注解支持,Feign在整合了Ribbon后可以提供负载均衡功能。

1.2、使用Feign调用服务

1.2.1、创建Spring Cloud应用,添加Feign、Eureka Discovery Client和Web依赖
1.2.2、编写配置
代码语言:javascript复制
spring.application.name=open-feign
server.port=50006
eureka.client.fetch-registry=true
eureka.client.register-with-eureka=false
eureka.client.service-url.defaultZone=http://eureka01:50001/eureka/,http://eureka02:50002//eureka/
1.2.3、添加Feign支持
代码语言:javascript复制
@SpringBootApplication
@EnableDiscoveryClient //开启客户端发现
@EnableFeignClients //开启Feign支持
public class OpenFeignApplication {

    public static void main(String[] args) {
        SpringApplication.run(OpenFeignApplication.class, args);
    }

}
1.2.4、实现Feign接口
代码语言:javascript复制
@FeignClient(name = "provider")
public interface FeignClients {
    
    @GetMapping("/hello")
    public String hello();    
}
1.2.5、实现调用服务接口
代码语言:javascript复制
@RestController
public class HelloController {
    
    @Autowired
    FeignClients feignClients;
    
    @GetMapping("/hello")
    public String index(){
        return feignClients.hello();
    }
}
1.2.6、启动"服务中心"、"服务提供者"和"Feign"工程

访问http://localhost:50006/hello

经验:

  • feignClient接口 有参数在参数必须加@PathVariable(“XXX”)和@RequestParam(“XXX”)
  • feignClient返回值为复杂对象时其类型必须有无参构造函数

0 人点赞