1. 程式人生 > >微服務之間介面呼叫(FeignClient)

微服務之間介面呼叫(FeignClient)

第一步:載入jar包 

<!--spring-cloud-starter-feign-->
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-feign</artifactId>
</dependency>

第二步:配置類

server.port=9001

spring.application.name=feign-consumer eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/

第三步:服務層

@FeignClient(name = "微服務名稱",fallback = XxxFeignServiceImpl.class)
public interface XxxxFeignService {

    @GetMapping(value="/xxxx/getXxx/{taskId}")
    List<Object> getXxxx(@PathVariable("xxx") Integer xxx);
}

fallback :斷路器,當時介面執行異常時,呼叫該介面實現方法

@Service
public class XxxxxFeignServiceImpl implements XxxxFeignService{
   
    @Override
    public List<JobInfoVo> getXxxx(Integer xxx) {
        log.error("呼叫{}異常:{}", "根據ID獲取列表", xxx);
        return null;
    }
}

第四步:啟動類配置

@EnableAsync
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
@ComponentScan(basePackages = {"Xxxx.xxx.xxx", "xxx.xxx.xxx"})
public class XxxApplication {
    public static void main(String[] args) {
        SpringApplication.run(XxxxApplication.class, args);
    }
}