Bläddra i källkod

优化脚本调用逻辑,可调用java方法非静态方法

mxd 4 år sedan
förälder
incheckning
af80b0c15d

+ 3 - 19
src/main/java/org/ssssssss/magicapi/spring/boot/starter/MagicAPIAutoConfiguration.java

@@ -59,7 +59,7 @@ import java.util.*;
 @EnableConfigurationProperties(MagicAPIProperties.class)
 public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 
-	private static Logger logger = LoggerFactory.getLogger(MagicAPIAutoConfiguration.class);
+	private static final Logger logger = LoggerFactory.getLogger(MagicAPIAutoConfiguration.class);
 
 	@Autowired
 	private MagicAPIProperties properties;
@@ -404,7 +404,7 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 			List<Class<?>> supports = extension.supports();
 			for (Class<?> support : supports) {
 				logger.info("注册扩展:{} -> {}", support, extension.getClass());
-				AbstractReflection.getInstance().registerExtensionClass(support, extension.getClass());
+				AbstractReflection.getInstance().registerMethodExtension(support, extension);
 			}
 		}
 	}
@@ -442,18 +442,14 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 		configuration.setMagicDynamicDataSource(magicDynamicDataSource);
 		configuration.setEditorConfig(properties.getEditorConfig());
 		// 注册函数
-		this.magicFunctions.forEach(function -> JavaReflection.registerFunctionClass(function.getClass()));
+		this.magicFunctions.forEach(JavaReflection::registerFunction);
 		// 向页面传递配置信息时不传递用户名密码,增强安全性
 		securityConfig.setUsername(null);
 		securityConfig.setPassword(null);
 
-		configuration.setSyncConfig(properties.getSyncConfig());
 		// 构建UI请求处理器
 		String base = properties.getWeb();
 		mappingHandlerMapping.setRequestMappingHandlerMapping(requestMappingHandlerMapping);
-		if (StringUtils.isNotBlank(properties.getSyncConfig().getSecret())) {
-			mappingHandlerMapping.registerController(new SynchronizeController(configuration), "");
-		}
 		if (base != null) {
 			configuration.setEnableWeb(true);
 			List<MagicController> controllers = new ArrayList<>(Arrays.asList(
@@ -464,18 +460,6 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 					new MagicFunctionController(configuration)
 			));
 			controllers.forEach(item -> mappingHandlerMapping.registerController(item, base));
-			);
-			controllers.forEach(item -> {
-				Method[] methods = item.getClass().getDeclaredMethods();
-				for (Method method : methods) {
-					RequestMapping requestMapping = method.getAnnotation(RequestMapping.class);
-					if (requestMapping != null) {
-						String[] paths = Stream.of(requestMapping.value()).map(value -> base + value).toArray(String[]::new);
-						RequestMappingInfo mappingInfo = RequestMappingInfo.paths(paths).produces(requestMapping.produces()).build();
-						requestMappingHandlerMapping.registerMapping(mappingInfo, item, method);
-					}
-				}
-			});
 		}
 		// 设置拦截器信息
 		this.requestInterceptors.forEach(interceptor -> {

+ 0 - 4
src/main/java/org/ssssssss/magicapi/spring/boot/starter/MagicAPIProperties.java

@@ -3,7 +3,6 @@ package org.ssssssss.magicapi.spring.boot.starter;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.boot.context.properties.NestedConfigurationProperty;
-import org.ssssssss.magicapi.config.SyncConfig;
 import org.ssssssss.magicapi.controller.RequestHandler;
 
 import java.util.Arrays;
@@ -102,9 +101,6 @@ public class MagicAPIProperties {
 	@NestedConfigurationProperty
 	private SwaggerConfig swaggerConfig = new SwaggerConfig();
 
-	@NestedConfigurationProperty
-	private SyncConfig syncConfig = new SyncConfig();
-
 	public String getEditorConfig() {
 		return editorConfig;
 	}

+ 2 - 2
src/main/java/org/ssssssss/magicapi/spring/boot/starter/MagicMongoAutoConfiguration.java

@@ -23,8 +23,8 @@ public class MagicMongoAutoConfiguration {
 	 */
 	@Bean
 	public MongoModule mongoFunctions(MongoTemplate mongoTemplate) {
-		AbstractReflection.getInstance().registerExtensionClass(MongoCollection.class, MongoCollectionExtension.class);
-		AbstractReflection.getInstance().registerExtensionClass(FindIterable.class, MongoFindIterableExtension.class);
+		AbstractReflection.getInstance().registerMethodExtension(MongoCollection.class, new MongoCollectionExtension());
+		AbstractReflection.getInstance().registerMethodExtension(FindIterable.class, new MongoFindIterableExtension());
 		return new MongoModule(mongoTemplate);
 	}
 }