在这篇文章中,我们将会使用Spring Cloud Feign来重写之前使用Dubbo的例子。Feign是一个声明式的Web服务客户端,它使得编写Web服务客户端变得更加简单。
首先,我们需要在pom.xml中添加Feign的依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
然后,我们需要在启动类上添加@EnableFeignClients
注解来启用Feign客户端:
@SpringBootApplication
@EnableFeignClients
public class ConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class, args);
}
}
接下来,我们需要定义一个Feign客户端接口:
@FeignClient(name = "provider-service", path = "/provider")
public interface ProviderClient {
@GetMapping("/hello")
String hello();
}
在这个接口中,我们指定了服务名称name
和基础路径path
,并且定义了一个hello
方法来调用提供者服务的/hello
接口。
最后,我们可以在Controller中使用这个Feign客户端:
@RestController
public class ConsumerController {
@Autowired
private ProviderClient providerClient;
@GetMapping("/hello")
public String hello() {
return providerClient.hello();
}
}
这样,我们就使用Feign替换了Dubbo,实现了服务的消费者。这个例子非常简单,但足以展示如何使用Feign进行服务调用。