diff --git a/OpenFeign/README.md b/OpenFeign/README.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/OpenFeign/pom.xml b/OpenFeign/pom.xml
new file mode 100644
index 000000000..a13d526ad
--- /dev/null
+++ b/OpenFeign/pom.xml
@@ -0,0 +1,55 @@
+
+
+ 4.0.0
+
+ com.netease.lowcode.extension
+ OpenFeign
+ 1.0.15
+
+
+ 8
+ 8
+ UTF-8
+
+ 2.2.9.RELEASE
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+ ${spring.boot.version}
+
+
+
+ nasl-metadata-collector
+ com.netease.lowcode
+ 0.8.0
+ true
+
+
+
+
+
+
+ com.netease.lowcode
+ nasl-metadata-maven-plugin
+ 1.4.2
+
+ false
+ false
+
+
+
+
+ archive
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OpenFeign/src/main/java/com/netease/lowcode/extension/OpenFeignAutoScan.java b/OpenFeign/src/main/java/com/netease/lowcode/extension/OpenFeignAutoScan.java
new file mode 100644
index 000000000..3872d53d4
--- /dev/null
+++ b/OpenFeign/src/main/java/com/netease/lowcode/extension/OpenFeignAutoScan.java
@@ -0,0 +1,10 @@
+package com.netease.lowcode.extension;
+
+import com.netease.lowcode.extension.service.UserService;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@ComponentScan(basePackageClasses = {UserService.class})
+public class OpenFeignAutoScan {
+}
diff --git a/OpenFeign/src/main/java/com/netease/lowcode/extension/OpenFeignConfig.java b/OpenFeign/src/main/java/com/netease/lowcode/extension/OpenFeignConfig.java
new file mode 100644
index 000000000..dc14ec076
--- /dev/null
+++ b/OpenFeign/src/main/java/com/netease/lowcode/extension/OpenFeignConfig.java
@@ -0,0 +1,14 @@
+package com.netease.lowcode.extension;
+
+import com.netease.lowcode.extension.feign.ExtensionUserClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@EnableFeignClients(basePackageClasses = ExtensionUserClient.class)
+public class OpenFeignConfig {
+
+ public OpenFeignConfig() {
+ System.out.println("OpenFeignConfig 扫描成功");
+ }
+}
diff --git a/OpenFeign/src/main/java/com/netease/lowcode/extension/OpenFeignEnvironmentPostProcessor.java b/OpenFeign/src/main/java/com/netease/lowcode/extension/OpenFeignEnvironmentPostProcessor.java
new file mode 100644
index 000000000..a73641ca0
--- /dev/null
+++ b/OpenFeign/src/main/java/com/netease/lowcode/extension/OpenFeignEnvironmentPostProcessor.java
@@ -0,0 +1,21 @@
+package com.netease.lowcode.extension;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.env.EnvironmentPostProcessor;
+import org.springframework.core.env.ConfigurableEnvironment;
+import org.springframework.core.env.MapPropertySource;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class OpenFeignEnvironmentPostProcessor implements EnvironmentPostProcessor {
+ @Override
+ public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
+ Map config = new HashMap<>();
+ config.put("feign.hystrix.enabled",true);
+ config.put("hystrix.command.default.circuitBreaker.requestVolumeThreshold",2);
+ config.put("hystrix.command.default.circuitBreaker.errorThresholdPercentage",0);
+
+ environment.getPropertySources().addLast(new MapPropertySource("OPENFEIGNMAP",config));
+ }
+}
diff --git a/OpenFeign/src/main/java/com/netease/lowcode/extension/feign/ExtensionUserClient.java b/OpenFeign/src/main/java/com/netease/lowcode/extension/feign/ExtensionUserClient.java
new file mode 100644
index 000000000..588fb3a65
--- /dev/null
+++ b/OpenFeign/src/main/java/com/netease/lowcode/extension/feign/ExtensionUserClient.java
@@ -0,0 +1,11 @@
+package com.netease.lowcode.extension.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
+@FeignClient(name="extensionUserClient",url = "http://dev.nacos.cstest.lcap.codewave-test.163yun.com")
+public interface ExtensionUserClient {
+
+ @GetMapping("/rest/hello")
+ String hello();
+}
diff --git a/OpenFeign/src/main/java/com/netease/lowcode/extension/feign/ExtensionUserClientWithFallback.java b/OpenFeign/src/main/java/com/netease/lowcode/extension/feign/ExtensionUserClientWithFallback.java
new file mode 100644
index 000000000..89e7fd476
--- /dev/null
+++ b/OpenFeign/src/main/java/com/netease/lowcode/extension/feign/ExtensionUserClientWithFallback.java
@@ -0,0 +1,14 @@
+package com.netease.lowcode.extension.feign;
+
+import com.netease.lowcode.extension.service.ExtensionUserClientFallback;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
+@FeignClient(name = "extensionUserClientWithFallback",
+ url = "http://dev.nacos.cstest.lcap.codewave-test.163yun.com",
+ fallback = ExtensionUserClientFallback.class)
+public interface ExtensionUserClientWithFallback {
+
+ @GetMapping("/rest/hello")
+ String hello();
+}
diff --git a/OpenFeign/src/main/java/com/netease/lowcode/extension/service/ExtensionUserClientFallback.java b/OpenFeign/src/main/java/com/netease/lowcode/extension/service/ExtensionUserClientFallback.java
new file mode 100644
index 000000000..90f3a65f3
--- /dev/null
+++ b/OpenFeign/src/main/java/com/netease/lowcode/extension/service/ExtensionUserClientFallback.java
@@ -0,0 +1,13 @@
+package com.netease.lowcode.extension.service;
+
+import com.netease.lowcode.extension.feign.ExtensionUserClientWithFallback;
+import org.springframework.stereotype.Component;
+
+@Component
+public class ExtensionUserClientFallback implements ExtensionUserClientWithFallback {
+
+ @Override
+ public String hello() {
+ return "触发熔断";
+ }
+}
diff --git a/OpenFeign/src/main/java/com/netease/lowcode/extension/service/UserService.java b/OpenFeign/src/main/java/com/netease/lowcode/extension/service/UserService.java
new file mode 100644
index 000000000..73d7df706
--- /dev/null
+++ b/OpenFeign/src/main/java/com/netease/lowcode/extension/service/UserService.java
@@ -0,0 +1,45 @@
+package com.netease.lowcode.extension.service;
+
+import com.netease.lowcode.core.annotation.NaslLogic;
+import com.netease.lowcode.extension.feign.ExtensionUserClient;
+import com.netease.lowcode.extension.feign.ExtensionUserClientWithFallback;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class UserService {
+
+ private static ExtensionUserClient extensionUserClient;
+ private static ExtensionUserClientWithFallback extensionUserClientWithFallback;
+
+ /**
+ * 普通接口调用
+ * 当服务不可用时直接异常
+ *
+ * @return
+ */
+ @NaslLogic
+ public static String hello() {
+ return extensionUserClient.hello();
+ }
+
+ /**
+ * 开启熔断器的接口调用
+ * 当调用服务不可用时将触发熔断降级
+ *
+ * @return
+ */
+ @NaslLogic
+ public static String helloWithFallback() {
+ return extensionUserClientWithFallback.hello();
+ }
+
+ @Autowired
+ public void setUserClient(ExtensionUserClient extensionUserClient) {
+ UserService.extensionUserClient = extensionUserClient;
+ }
+ @Autowired
+ public void setExtensionUserClientWithFallback(ExtensionUserClientWithFallback extensionUserClientWithFallback){
+ UserService.extensionUserClientWithFallback = extensionUserClientWithFallback;
+ }
+}
diff --git a/OpenFeign/src/main/resources/META-INF/spring.factories b/OpenFeign/src/main/resources/META-INF/spring.factories
new file mode 100644
index 000000000..8c3091527
--- /dev/null
+++ b/OpenFeign/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,5 @@
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+ com.netease.lowcode.extension.OpenFeignConfig,\
+ com.netease.lowcode.extension.OpenFeignAutoScan
+org.springframework.boot.env.EnvironmentPostProcessor=\
+ com.netease.lowcode.extension.OpenFeignEnvironmentPostProcessor
\ No newline at end of file
diff --git "a/OpenFeign/\344\276\235\350\265\226\345\272\223\344\275\277\347\224\250\346\226\207\346\241\243\350\257\264\346\230\216.docx" "b/OpenFeign/\344\276\235\350\265\226\345\272\223\344\275\277\347\224\250\346\226\207\346\241\243\350\257\264\346\230\216.docx"
new file mode 100644
index 000000000..e69de29bb