首先在调用方增加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
在起动主类上加注解 @EnableFeignClients
定义要调用的接口
package com.imooc.order.client;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
//注解表示访问product应用,下的不同方法如msg接口
@FeignClient(name = "product")
public interface ProductClient {
@GetMapping("/msg")
String productMsg();
}
Controller调用刚定义的接口访问其他应用
package com.imooc.order.controller;
import com.imooc.order.client.ProductClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Slf4j
public class ClientFeignTestController {
@Autowired
private ProductClient productClient;
@GetMapping("/getProductMsg4")
public String getProductMsg4(){
////第四种方式使用Feign
String response = productClient.productMsg();
log.info(response);
return response;
}
}
但测试的结果,开始配置的随机规则失效了,又变为了默认的轮循规则