操作三步走
1.引入openfeign依赖
2.定义Feign接口
3.配置类@EnableFeignClients(value="feign接口所在包")
实现
1.创建一个Feign服务模块,引入依赖(版本号在父工程锁定了)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2.定义Feign接口(这里面写的是一个服务调另一个服务的controller方法,没有方法体;比如我的用户服务user-service,需要远程调用订单服务order-service中的根据id查询订单信息,所以我将这个方法放到Feign接口中,需要时直接创建)
//远程调用那个服务
@FeignClient("orderservice")
public interface ItemFeign {
//根据id查询订单
@GetMapping("/item/{id}")
public Item getId(@PathVariable Long id);
}
3.配置类@EnableFeignClients(value="feign接口所在包")
@EnableFeignClients(value = "com.hmall.common.feign")
value="feign接口的包",@EnableFeignClients让spring生成该代理对象
@SpringBootApplication
@EnableFeignClients(value = "com.hmall.common.feign")
public class SearchApplication {
public static void main(String[] args) {
SpringApplication.run(SearchApplication.class,args);
}
}
4.使用一下
1.在user-service引入Feign模块的maven依赖
<dependency>
<groupId>com.hmall</groupId>
<artifactId>feign-api</artifactId>
<version>1.0</version>
<dependency>2.注入这个接口
@Autowired
private ItemFeign itemFeign;3.调用接口中的方法,实现了服务之间的远程调用
Item item = itemFeign.getId(id);
本文介绍了如何使用Spring Cloud Feign进行服务间的远程调用。首先,引入了openfeign依赖;接着,定义了一个Feign接口,用于调用order-service的查询订单方法;然后,在配置类中启用Feign客户端;最后,展示了如何在user-service中引入Feign模块依赖,注入并调用接口完成远程调用。
1167

被折叠的 条评论
为什么被折叠?



