Nacos-OpenFeign远程调用
Producer接口
服务名称: nacos-provider-8000
@RestController
public class ProviderController {
@GetMapping(value = "/service")
public String service() {
System.out.println("provider");
return "provider8000";
}
}
OpenFeign远程调用
创建一个消费者工程: openFeign-9100.
添加依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!--SpringCloud ailibaba nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringBoot整合Web组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
</dependencies>
接口调用:
// value 的值为 服务名
@FeignClient(value = "nacos-provider-8000")
public interface OpenFeignClient {
// 此处 value 的值为 需要调用接口
@GetMapping(value = "/service")
public String openFeign();
}
Controller层调用接口方法
@RestController
public class OpenFeignController {
@Autowired
OpenFeignClient openFeignClient;
@GetMapping("/feign")
public String feignTest() {
return openFeignClient.openFeign();
}
}
启动类: 加上@EnableFeignClients
@SpringBootApplication
@EnableFeignClients
public class OpenFeignApplication {
public static void main(String[] args) {
SpringApplication.run(OpenFeignApplication.class,args);
}
}
配置文件:
server:
port: 9100
spring:
application:
name: nacos-openFeign-9100
cloud:
nacos:
discovery:
server‐addr: 127.0.0.1:8848