1.pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2.application.properties配置
server.port=8080
spring.application.name=feign1
eureka.client.service-url.defaultZone=http://localhost:7777/eureka
3.定义接口
package org.huqi.springcloudserver1;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
//value 服务名称
@FeignClient(value = "service1")
public interface FeignService1 {
@RequestMapping("/index1")
String test1();
}
4.远程调用代码
@RestController
public class ConsumerController {
@Autowired
FeignService feignService;
@RequestMapping("/consumer")
public String helloConsumer(){
return feignService.hello();
}
}
5.调用类
package org.huqi.springcloudserver1;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@Autowired
FeignService1 feign;
@RequestMapping("/test1")
public String test1(){
return "其他调用"+feign.test1();
}
}
6.启动类
package org.huqi.springcloudserver1;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
@EnableDiscoveryClient
@EnableFeignClients
@SpringBootApplication
public class Springcloudserver1Application {
public static void main(String[] args) {
SpringApplication.run(Springcloudserver1Application.class, args);
}
}