Feign-简单使用
Spring Cloud Feign帮助我们定义和实现依赖服务接口的定义。在Spring Cloud feign的实现下,只需要创建一个接口并用注解方式配置它,即可完成服务提供方的接口绑定。
一、实现服务调用
1、在调用端添加pom依赖
添加 spring-cloud-starter-openfeign 依赖
<!--服务调用-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
完整的pom
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<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-netflix-ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2、启动类添加注解
@EnableFeignClients
3、创建远程调用包和接口
package com.guli.statistics.client;
@Component
@FeignClient("guli-ucenter") //指定远程调用的微服务在eureka注册中心的服务名
public interface UcenterClient {
/**
* 注意:一定要写成 @PathVariable("day"),圆括号中的"day"不能少
* @param day
* @return
*/
@GetMapping(value = "/admin/ucenter/member/count-register/{day}")
public R registerCount(@PathVariable("day") String day);
}
4、调用微服务
在调用端的DailyService中调用client中的方法
接口
void createStatisticsByDay(String day);
实现
@Autowired
private UcenterClient ucenterClient;
@Override
public void createStatisticsByDay(String day) {
//获取统计信息
Integer registerNum = (Integer) ucenterClient.registerCount(day).getData().get("countRegister");
}
总结
实现Feign的使用一共分为以下几个步骤:1、在调用端添加pom依赖;2、在调用端启动类上添加启动Feign注解;3、创建远程调用的使用接口。本文提供了Feign简单使用的解决方案,推荐更多相关Feign的使用链接: Feign-简单使用。感谢你的阅读,希望本文能带给你小小的帮助。我是黑马Jack,一起学习一起进步!