浏览代码

Merge branch 'dev' into v0.7.x

# Conflicts:
#	src/main/java/org/ssssssss/magicapi/spring/boot/starter/MagicAPIAutoConfiguration.java
#	src/main/java/org/ssssssss/magicapi/spring/boot/starter/MagicAPIProperties.java
mxd 4 年之前
父节点
当前提交
70f721cb08

+ 2 - 2
README.md

@@ -47,8 +47,8 @@ magic-api 是一个基于Java的接口快速开发框架,编写接口将通过
 <!-- 以spring-boot-starter的方式引用 -->
 <dependency>
 	<groupId>org.ssssssss</groupId>
-	<artifactId>magic-api-spring-boot-starter</artifactId>
-    <version>0.6.0</version>
+    <artifactId>magic-api-spring-boot-starter</artifactId>
+    <version>0.6.1</version>
 </dependency>
 ```
 ## 修改application.properties

+ 3 - 3
pom.xml

@@ -11,7 +11,7 @@
     </parent>
     <groupId>org.ssssssss</groupId>
     <artifactId>magic-api-spring-boot-starter</artifactId>
-    <version>0.6.0</version>
+    <version>0.6.1</version>
     <packaging>jar</packaging>
     <name>magic-api-spring-boot-starter</name>
     <description>magic-api-spring-boot-starter</description>
@@ -39,12 +39,12 @@
         <dependency>
             <groupId>org.ssssssss</groupId>
             <artifactId>magic-api</artifactId>
-            <version>0.6.0</version>
+            <version>0.6.1</version>
         </dependency>
         <dependency>
             <groupId>org.ssssssss</groupId>
             <artifactId>magic-editor</artifactId>
-            <version>0.6.0</version>
+            <version>0.6.1</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>

+ 13 - 0
src/main/java/org/ssssssss/magicapi/spring/boot/starter/MagicAPIAutoConfiguration.java

@@ -440,6 +440,7 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 		configuration.setResultProvider(resultProvider);
 		configuration.setThrowException(properties.isThrowException());
 		configuration.setMagicDynamicDataSource(magicDynamicDataSource);
+		configuration.setEditorConfig(properties.getEditorConfig());
 		// 注册函数
 		this.magicFunctions.forEach(function -> JavaReflection.registerFunctionClass(function.getClass()));
 		// 向页面传递配置信息时不传递用户名密码,增强安全性
@@ -463,6 +464,18 @@ 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 -> {

+ 15 - 8
src/main/java/org/ssssssss/magicapi/spring/boot/starter/MagicAPIProperties.java

@@ -74,6 +74,13 @@ public class MagicAPIProperties {
 	 */
 	private int threadPoolExecutorSize = 0;
 
+	/**
+	 * 编辑器配置文件路径(js)
+	 *
+	 * @since 0.6.1
+	 */
+	private String editorConfig;
+
 	/**
 	 * 版本号
 	 */
@@ -98,6 +105,14 @@ public class MagicAPIProperties {
 	@NestedConfigurationProperty
 	private SyncConfig syncConfig = new SyncConfig();
 
+	public String getEditorConfig() {
+		return editorConfig;
+	}
+
+	public void setEditorConfig(String editorConfig) {
+		this.editorConfig = editorConfig;
+	}
+
 	public String getWeb() {
 		if (StringUtils.isBlank(web)) {
 			return null;
@@ -252,12 +267,4 @@ public class MagicAPIProperties {
 	public String getVersion() {
 		return version;
 	}
-
-	public SyncConfig getSyncConfig() {
-		return syncConfig;
-	}
-
-	public void setSyncConfig(SyncConfig syncConfig) {
-		this.syncConfig = syncConfig;
-	}
 }

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

@@ -1,11 +1,11 @@
 package org.ssssssss.magicapi.spring.boot.starter;
 
-import com.mongodb.MongoClient;
 import com.mongodb.client.FindIterable;
 import com.mongodb.client.MongoCollection;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.data.mongodb.core.MongoTemplate;
 import org.ssssssss.magicapi.modules.MongoCollectionExtension;
 import org.ssssssss.magicapi.modules.MongoFindIterableExtension;
 import org.ssssssss.magicapi.modules.MongoModule;
@@ -14,17 +14,17 @@ import org.ssssssss.script.reflection.AbstractReflection;
 /**
  * mongo配置
  */
-@ConditionalOnBean(MongoClient.class)
 @Configuration
+@ConditionalOnBean(MongoTemplate.class)
 public class MagicMongoAutoConfiguration {
 
 	/**
 	 * 注入mongo模块
 	 */
 	@Bean
-	public MongoModule mongoFunctions(MongoClient mongoClient) {
+	public MongoModule mongoFunctions(MongoTemplate mongoTemplate) {
 		AbstractReflection.getInstance().registerExtensionClass(MongoCollection.class, MongoCollectionExtension.class);
 		AbstractReflection.getInstance().registerExtensionClass(FindIterable.class, MongoFindIterableExtension.class);
-		return new MongoModule(mongoClient);
+		return new MongoModule(mongoTemplate);
 	}
 }