Skip to content

Commit 25e9400

Browse files
committed
Server:提交遗漏的 Application 和 Controller 代码;打包 apijson-orm-4.1.0-preview.jar 和 apijson-framework-4.1.0-preview.jar
1 parent 2b35c83 commit 25e9400

File tree

7 files changed

+45
-3
lines changed

7 files changed

+45
-3
lines changed
Binary file not shown.
Binary file not shown.

APIJSON-Java-Server/APIJSONBoot/src/main/java/apijson/boot/DemoApplication.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,13 @@
1717
import java.util.Map;
1818
import java.util.regex.Pattern;
1919

20+
import org.springframework.beans.BeansException;
2021
import org.springframework.boot.SpringApplication;
2122
import org.springframework.boot.autoconfigure.SpringBootApplication;
2223
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
2324
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
25+
import org.springframework.context.ApplicationContext;
26+
import org.springframework.context.ApplicationContextAware;
2427
import org.springframework.context.annotation.Bean;
2528
import org.springframework.context.annotation.Configuration;
2629
import org.springframework.web.cors.CorsConfiguration;
@@ -45,7 +48,7 @@
4548
*/
4649
@Configuration
4750
@SpringBootApplication
48-
public class DemoApplication {
51+
public class DemoApplication implements ApplicationContextAware {
4952

5053
static {
5154
Map<String, Pattern> COMPILE_MAP = Structure.COMPILE_MAP;
@@ -88,6 +91,16 @@ public static void main(String[] args) throws Exception {
8891
Log.DEBUG = true; //上线生产环境前改为 false,可不输出 APIJSONORM 的日志 以及 SQLException 的原始(敏感)信息
8992
APIJSONApplication.init(true);
9093
}
94+
95+
96+
private static ApplicationContext APPLICATION_CONTEXT;
97+
public static ApplicationContext getApplicationContext() {
98+
return APPLICATION_CONTEXT;
99+
}
100+
@Override
101+
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
102+
APPLICATION_CONTEXT = applicationContext;
103+
}
91104

92105
//SpringBoot 2.x 自定义端口方式
93106
// @Bean

APIJSON-Java-Server/APIJSONBoot/src/main/java/apijson/boot/DemoController.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
import apijson.boot.model.Verify;
7575
import apijson.framework.APIJSONController;
7676
import apijson.framework.BaseModel;
77+
import apijson.framework.MethodUtil;
7778
import apijson.framework.StructureUtil;
7879
import apijson.orm.JSONRequest;
7980
import apijson.orm.exception.ConditionErrorException;
@@ -1142,5 +1143,34 @@ public String swaggerAPIDocs() {
11421143
" }\n"+
11431144
"}";
11441145
}
1146+
1147+
1148+
1149+
1150+
@PostMapping("method/invoke")
1151+
public JSONObject invokeMethod(@RequestBody String request) {
1152+
try {
1153+
JSONObject req = JSON.parseObject(request);
1154+
if (req != null) {
1155+
String pkgName = req.getString("package");
1156+
String clsName = req.getString("class");
1157+
return MethodUtil.invokeMethod(
1158+
req,
1159+
DemoApplication.getApplicationContext().getBean(
1160+
Class.forName(pkgName.replaceAll("/", ".") + "." + clsName)
1161+
)
1162+
);
1163+
}
1164+
} catch (Exception e) {
1165+
Log.e(TAG, "listMethod try { JSONObject req = JSON.parseObject(request); ... } catch (Exception e) { \n" + e.getMessage());
1166+
}
1167+
1168+
return super.invokeMethod(request);
1169+
}
1170+
1171+
@PostMapping("method/list")
1172+
public JSONObject listMethod(@RequestBody String request) {
1173+
return super.listMethod(request);
1174+
}
11451175

11461176
}

APIJSON-Java-Server/APIJSONFramework/src/main/java/apijson/framework/APIJSONController.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434

3535
import javax.servlet.http.HttpSession;
3636

37-
import com.alibaba.fastjson.JSON;
3837
import com.alibaba.fastjson.JSONObject;
3938

4039
import apijson.Log;

APIJSON-Java-Server/APIJSONFramework/src/main/java/apijson/framework/MethodUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ public static JSONObject listMethod(String request) {
136136
if (req == null) {
137137
req = new JSONObject(true);
138138
}
139-
boolean sync = req.getBooleanValue("sync");
139+
// boolean sync = req.getBooleanValue("sync");
140140
// boolean returnList = req.getBooleanValue("return");
141141
String pkgName = req.getString("package");
142142
String clsName = req.getString("class");

0 commit comments

Comments
 (0)