Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
workflow-core
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
黄夏豪
workflow-core
Commits
5088737b
提交
5088737b
authored
3月 08, 2021
作者:
黄承天
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
api调用参数由指定类对象改为指定类名
上级
aecc2407
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
18 行增加
和
4 行删除
+18
-4
Parameter.java
...main/java/com/tykj/workflowcore/api/entity/Parameter.java
+1
-1
ApiService.java
...in/java/com/tykj/workflowcore/api/service/ApiService.java
+17
-3
没有找到文件。
src/main/java/com/tykj/workflowcore/api/entity/Parameter.java
浏览文件 @
5088737b
...
...
@@ -9,7 +9,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
public
class
Parameter
{
private
Class
<?>
clz
;
private
String
className
;
private
Object
obj
;
...
...
src/main/java/com/tykj/workflowcore/api/service/ApiService.java
浏览文件 @
5088737b
...
...
@@ -6,6 +6,7 @@ import com.tykj.workflowcore.api.entity.ApiInfo;
import
com.tykj.workflowcore.api.entity.ClassInfo
;
import
com.tykj.workflowcore.api.entity.EntityInfo
;
import
com.tykj.workflowcore.api.entity.Parameter
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
java.io.File
;
...
...
@@ -17,7 +18,10 @@ import java.net.URL;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
java
.
lang
.
String
.
format
;
@Slf4j
@Service
public
class
ApiService
{
...
...
@@ -122,9 +126,10 @@ public class ApiService {
*/
public
Object
invoke
(
String
className
,
String
apiName
,
List
<
Parameter
>
parameters
)
{
try
{
Class
<?>
clz
=
Class
.
forName
(
className
);
Class
<?>
clz
=
getClass
(
className
);
Class
<?>[]
parameterTypes
=
parameters
.
stream
()
.
map
(
Parameter:
:
getClz
)
.
map
(
Parameter:
:
getClassName
)
.
map
(
this
::
getClass
)
.
toArray
(
Class
[]::
new
);
Method
method
=
clz
.
getMethod
(
apiName
,
parameterTypes
);
Object
bean
=
springBeanService
.
getBean
(
clz
);
...
...
@@ -132,12 +137,21 @@ public class ApiService {
.
map
(
Parameter:
:
getObj
)
.
toArray
();
return
method
.
invoke
(
bean
,
params
);
}
catch
(
ClassNotFound
Exception
|
NoSuchMethodException
|
IllegalAccessException
|
InvocationTargetException
e
)
{
}
catch
(
Runtime
Exception
|
NoSuchMethodException
|
IllegalAccessException
|
InvocationTargetException
e
)
{
e
.
printStackTrace
();
return
null
;
}
}
private
Class
<?>
getClass
(
String
className
)
{
try
{
return
Class
.
forName
(
className
);
}
catch
(
ClassNotFoundException
e
)
{
log
.
error
(
format
(
"未能找到该类:%s"
,
className
));
throw
new
RuntimeException
();
}
}
//通过loader加载所有类
private
List
<
Class
<?>>
loadClassByLoader
(
ClassLoader
load
)
{
List
<
Class
<?>>
classes
=
new
ArrayList
<>();
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论