diff --git a/mars-core/src/main/java/com/mars/core/annotation/MarsReference.java b/mars-core/src/main/java/com/mars/core/annotation/MarsReference.java
index 5615bd7..26cbeaa 100644
--- a/mars-core/src/main/java/com/mars/core/annotation/MarsReference.java
+++ b/mars-core/src/main/java/com/mars/core/annotation/MarsReference.java
@@ -11,7 +11,7 @@ public @interface MarsReference {
String beanName();
- String refName();
+ String refName() default "";
RefType refType() default RefType.METHOD;
}
diff --git a/mars-mvc/pom.xml b/mars-mvc/pom.xml
index 773dbb4..af97b0e 100644
--- a/mars-mvc/pom.xml
+++ b/mars-mvc/pom.xml
@@ -12,7 +12,7 @@
com.github.yuyenews
- mars-netty
+ mars-tomcat
\ No newline at end of file
diff --git a/mars-mvc/src/main/java/com/mars/mvc/proxy/ExecuteRef.java b/mars-mvc/src/main/java/com/mars/mvc/proxy/ExecuteRef.java
index 50197a0..ec465bd 100644
--- a/mars-mvc/src/main/java/com/mars/mvc/proxy/ExecuteRef.java
+++ b/mars-mvc/src/main/java/com/mars/mvc/proxy/ExecuteRef.java
@@ -88,12 +88,10 @@ public class ExecuteRef {
Method[] methods = cls.getDeclaredMethods();
for(Method methodItem : methods){
if(methodItem.getName().equals(refName)){
- Class>[] paramTypes = methodItem.getParameterTypes();
- Object[] refMethodParams = ParamUtil.getServiceParams(paramTypes,args);
- if(refMethodParams == null){
+ if(args == null || args.length < 1){
return methodItem.invoke(obj);
}
- return methodItem.invoke(obj,refMethodParams);
+ return methodItem.invoke(obj,args);
}
}
return "errorRef";
diff --git a/mars-mvc/src/main/java/com/mars/mvc/proxy/ParamUtil.java b/mars-mvc/src/main/java/com/mars/mvc/proxy/ParamUtil.java
deleted file mode 100644
index 41bff5a..0000000
--- a/mars-mvc/src/main/java/com/mars/mvc/proxy/ParamUtil.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.mars.mvc.proxy;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.mars.server.server.request.HttpMarsRequest;
-import com.mars.server.server.request.HttpMarsResponse;
-
-/**
- * 将API的参数转成引用的方法的参数
- */
-public class ParamUtil {
-
- /**
- * 将API的参数转成引用的方法的参数
- * @param paramTypes 参数类型列表
- * @param args 参数值列表
- * @return
- * @throws Exception
- */
- public static Object[] getServiceParams(Class>[] paramTypes, Object[] args) throws Exception {
- try {
- if(paramTypes == null || paramTypes.length < 0){
- return null;
- }
- if(args == null || args.length < 0){
- return new Object[paramTypes.length];
- }
-
- Object[] params = new Object[paramTypes.length];
-
- /* 把api的参数值拿出来,转成json */
- JSONObject jsonObject = new JSONObject();
- for(Object arg : args){
- if(arg == null || arg instanceof HttpMarsResponse || arg instanceof HttpMarsRequest){
- continue;
- }
-
- String jsonString = JSON.toJSONString(arg);
- JSONObject argJson = JSONObject.parseObject(jsonString);
- jsonObject.putAll(argJson);
- }
-
- /* 把api的参数值 分别赋值到引用的方法的参数里 */
- for(int i=0;i paramMap = request.getParameters();
+ if(paramMap != null){
+ paramMap.put(MarsConstant.REQUEST_FILE,request.getFiles());
+ }
+ params[i] = paramMap;
} else {
params[i] = getObject(cls,request);
}
@@ -64,53 +68,72 @@ public class BuildParams {
Object obj = cls.getDeclaredConstructor().newInstance();
Field[] fields = cls.getDeclaredFields();
for(Field f : fields){
- List