diff --git a/cloud-etl-remote/src/main/java/com/muyu/remote/SourceRemote.java b/cloud-etl-remote/src/main/java/com/muyu/remote/SourceRemote.java new file mode 100644 index 0000000..c2a413d --- /dev/null +++ b/cloud-etl-remote/src/main/java/com/muyu/remote/SourceRemote.java @@ -0,0 +1,16 @@ +package com.muyu.remote; + +import com.muyu.common.core.domain.Result; +import com.muyu.domain.Source; +import com.muyu.remote.factory.SourceFactory; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +@EnableFeignClients +@FeignClient(value = "cloud-etl-datasources",fallbackFactory = SourceFactory.class ) +public interface SourceRemote { + @GetMapping("datasources/{id}") + public Result queryById(@PathVariable("id") Long id); +} diff --git a/cloud-etl-remote/src/main/java/com/muyu/remote/factory/SourceFactory.java b/cloud-etl-remote/src/main/java/com/muyu/remote/factory/SourceFactory.java new file mode 100644 index 0000000..aa9ea1f --- /dev/null +++ b/cloud-etl-remote/src/main/java/com/muyu/remote/factory/SourceFactory.java @@ -0,0 +1,20 @@ +package com.muyu.remote.factory; + +import com.muyu.common.core.domain.Result; +import com.muyu.domain.Source; +import com.muyu.remote.SourceRemote; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +@Component +public class SourceFactory implements FallbackFactory { + @Override + public SourceRemote create(Throwable cause) { + return new SourceRemote() { + @Override + public Result queryById(Long id) { + return null; + } + }; + } +}