微服務之間介面呼叫(FeignClient)
阿新 • • 發佈:2019-02-17
第一步:載入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); } }