# 152. 商品详情页动态渲染系统:Spring Cloud 之 Fegion 声明式服务调用

ribbon + rest 是比较底层的调用方式,其实一般不常用

fegion 声明式的服务调用,类似于 rpc 风格的服务调用,默认集成了 ribbon 做负载均衡,集成 eureka 做服务发现

使用如下:

添加依赖

// 注:spring-cloud-starter-netflix-eureka-client 中已经依赖了 ribbon、hystrix、openfeign
compile('org.springframework.cloud:spring-cloud-starter-openfeign')
1
2

添加注解

@EnableFeignClients
1

编写接口映射

@FeignClient(name = "eshop-eurela-client")
public interface EurelaClientService {
    // get 方法要传递参数的话,必须使用 @RequestParam 注解,并且必须声明参数名称
    @GetMapping("/")
    String home(@RequestParam(name = "name") String name);
}
1
2
3
4
5
6

调用方式

@Autowired
private EurelaClientService eurelaClientService;

@RequestMapping("/")
public String home() {
    return eurelaClientService.home("xx");
}
1
2
3
4
5
6
7