spring cloud使用Feign实现远程接口的调用

太过爱你忘了你带给我的痛 2022-06-06 14:40 351阅读 0赞

在开发中,我们常用httpClient去远程调用其他系统的接口,一般情况下,需要我们指定调用的url,feign也实现了一套远程调用的方法,并且更为优雅。
1.添加依赖

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter-feign</artifactId>
  4. </dependency>

2.创建FeignClient接口(用于指定远程调用的服务)

  1. // 申明这是一个Feign客户端,并且指明服务id
  2. @FeignClient(value = "com-spring-caclulate")
  3. public interface CacluFeignClient {
  4. // 这里定义了类似于SpringMVC用法的方法,就可以进行RESTful的调用了
  5. @RequestMapping(value = "/caclu/{num}", method = RequestMethod.GET)
  6. public Item caclulate(@PathVariable("num") Integer num);
  7. }

注意:这里就是一个接口。
3.在需要进行远程调用的方法里注入该接口,并调用对应的api接口方法

  1. @Autowired
  2. private CacluFeignClient cacluFeignClient ;
  3. @GetMapping(value = "query/result")
  4. public Integer caclulate() {
  5. cacluFeignClient.caclulate(1);
  6. }

4.在启动类上添加注解 @EnableFeignClients,表示支持Feign

FeignClient接口和spring mvc接口的格式一致,在调用方的方法中,我们只需要调用本系统中定义的接口即可。

发表评论

表情:
评论列表 (有 0 条评论,351人围观)

还没有评论,来说两句吧...

相关阅读