• 微服务 通过EnableFeignClients调用其他服务的api


    今天在项目上遇到一个问题,通过当前service服务要调用到其他service服务的api接口时,可通过EnableFeignClients调用其他服务的api,大概的步骤如下:

    1、在springboot的main处加上注解@EnableFeignClients

     1 @EnableDiscoveryClient
     2 @SpringBootApplication
     3 @EnableFeignClients
     4 public class MyServiceApplication {
     5 
     6     public static void main(String[] args){
     7         SpringApplication.run(MyServiceApplication.class, args);
     8     }
     9 
    10 }

    2、在service层上实现接口,这里注意value可以用serviceId代替,但是最好用value来指定要调用的服务。

          fallback是当程序错误的时候来回调的方法

          方法中要用@PathVariable要注解参数

    1 @FeignClient(value = "other-service", fallback = ExampleFeignClientFallback.class)
    2 public interface ExampleFeignClient {
    3     @RequestMapping(value = "/v1/exampleId/{id}",method = RequestMethod.GET)
    4     Long queryById(@PathVariable(name="id") Long id);
    5 }


    3、编写程序错误时的回调类,实现接口,在错误时回调

    1 @Service
    2 public class ExampleFeignClientFallback implements ExampleFeignClient {
    3     @Override
    4     public Long queryById(Long id) {
    5         return null;
    6     }
    7 }


    4、调用该服务

    1 //声明,自动封装
    2 @Autowired
    3 private ExampleFeignClient ExampleFeignClient;
    4 
    5 
    6 //调用
    7 Long result = ExampleFeignClient.queryById(id);

    至此,完成整个步骤

  • 相关阅读:
    ISC DHCP: Enterprise grade solution for configuration needs
    The most widely used name server software: BIND
    不是技术牛人,如何拿到国内IT巨头的Offer--转
    NVIDIA---CUDA
    BIOS
    Computer form factor
    OC-常见错误 方法与函数的区别
    OC-面向对象
    OC-基本
    C-结构体、枚举
  • 原文地址:https://www.cnblogs.com/UniqueColor/p/7130782.html
Copyright © 2020-2023  润新知