在服務器端可以定義接口如下所示:
@FeignClient(serviceId = "server") public interface DomeService { @RequestMapping("testservice.json") @ResponseBody User getUser(); }
這個serviceId與配置文件中的
consul中
spring.cloud.consul.discovery.service-name
eurake 中對應的service-name的後面的值一樣,
在啓動類上加上
@EnableDiscoveryClient、
就好
在消費者端,加上
@EnableDiscoveryClient @EnableFeignClients(basePackages = {"com.ha"})
這樣就搞定了。不過要記得加上、
都要加上
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId> </dependency>
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency> <dependency> <groupId>com.netflix.feign</groupId> <artifactId>feign-httpclient</artifactId> <!--<version>${feign-httpclient}</version>--> </dependency>的依賴。