Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
kt-keystone
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
kt-keystone
Commits
7ab813c0
提交
7ab813c0
authored
3月 23, 2022
作者:
mry
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(web): 修复了,swagger快速查询接口问题
上级
e82e62c2
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
99 行增加
和
33 行删除
+99
-33
Connect.java
...ase/src/main/java/org/matrix/database/entity/Connect.java
+3
-1
ConnectController.java
...ava/org/matrix/autotest/controller/ConnectController.java
+9
-11
SwaggerController.java
...ava/org/matrix/autotest/controller/SwaggerController.java
+87
-21
没有找到文件。
kt-base/src/main/java/org/matrix/database/entity/Connect.java
浏览文件 @
7ab813c0
...
@@ -38,6 +38,9 @@ public class Connect extends BaseEntity {
...
@@ -38,6 +38,9 @@ public class Connect extends BaseEntity {
@ApiModelProperty
(
"所用驱动"
)
@ApiModelProperty
(
"所用驱动"
)
private
String
driver
;
private
String
driver
;
@ApiModelProperty
(
"项目id"
)
private
Long
projectId
;
/**
/**
* 转化为数据源DTO对象
* 转化为数据源DTO对象
*
*
...
@@ -47,5 +50,4 @@ public class Connect extends BaseEntity {
...
@@ -47,5 +50,4 @@ public class Connect extends BaseEntity {
return
new
DataSourceDTO
(
name
,
driver
,
url
,
username
,
password
);
return
new
DataSourceDTO
(
name
,
driver
,
url
,
username
,
password
);
}
}
}
}
kt-web/src/main/java/org/matrix/autotest/controller/ConnectController.java
浏览文件 @
7ab813c0
...
@@ -22,9 +22,6 @@ import org.springframework.web.bind.annotation.*;
...
@@ -22,9 +22,6 @@ import org.springframework.web.bind.annotation.*;
import
java.sql.SQLException
;
import
java.sql.SQLException
;
import
java.util.Optional
;
import
java.util.Optional
;
import
static
org
.
springframework
.
http
.
HttpStatus
.
NOT_IMPLEMENTED
;
import
static
org
.
springframework
.
http
.
HttpStatus
.
NO_CONTENT
;
/**
/**
* <p>
* <p>
* 前端控制器
* 前端控制器
...
@@ -78,7 +75,7 @@ public class ConnectController {
...
@@ -78,7 +75,7 @@ public class ConnectController {
* @return 分页查询的结果, 数据库信息
* @return 分页查询的结果, 数据库信息
*/
*/
@ApiOperation
(
value
=
"分页查询数据库信息"
)
@ApiOperation
(
value
=
"分页查询数据库信息"
)
@GetMapping
@GetMapping
(
"/{projectId}"
)
@Cacheable
(
cacheNames
=
"connectPageCache"
,
@Cacheable
(
cacheNames
=
"connectPageCache"
,
key
=
"#pageSize + '_' + #pageNum + '_' + #projectId"
,
key
=
"#pageSize + '_' + #pageNum + '_' + #projectId"
,
condition
=
"#pageNum != null && #pageSize != null"
,
condition
=
"#pageNum != null && #pageSize != null"
,
...
@@ -86,9 +83,10 @@ public class ConnectController {
...
@@ -86,9 +83,10 @@ public class ConnectController {
public
ResponseEntity
<
CommonResultObj
<
Page
<
Connect
>>>
findPageConnects
(
public
ResponseEntity
<
CommonResultObj
<
Page
<
Connect
>>>
findPageConnects
(
@RequestParam
(
defaultValue
=
"10"
)
int
pageSize
,
@RequestParam
(
defaultValue
=
"10"
)
int
pageSize
,
@RequestParam
(
defaultValue
=
"1"
)
int
pageNum
,
@RequestParam
(
defaultValue
=
"1"
)
int
pageNum
,
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
name
)
{
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
name
,
@PathVariable
Long
projectId
)
{
Page
<
Connect
>
results
=
Optional
.
ofNullable
(
connectService
.
page
(
Page
.
of
(
pageNum
,
pageSize
)
Page
<
Connect
>
results
=
Optional
.
ofNullable
(
connectService
.
page
(
Page
.
of
(
pageNum
,
pageSize
)
,
Wrappers
.
lambdaQuery
(
Connect
.
class
)
,
Wrappers
.
lambdaQuery
(
Connect
.
class
)
.
eq
(
Connect:
:
getProjectId
,
projectId
)
.
like
(
StringUtils
.
hasLength
(
name
)
.
like
(
StringUtils
.
hasLength
(
name
)
,
Connect:
:
getName
,
name
))).
orElse
(
new
Page
<>());
,
Connect:
:
getName
,
name
))).
orElse
(
new
Page
<>());
PageTools
.
pageTool
(
pageSize
,
pageNum
,
results
);
PageTools
.
pageTool
(
pageSize
,
pageNum
,
results
);
...
@@ -104,13 +102,14 @@ public class ConnectController {
...
@@ -104,13 +102,14 @@ public class ConnectController {
* @return 分页查询的结果, 数据库信息
* @return 分页查询的结果, 数据库信息
*/
*/
@ApiOperation
(
value
=
"条件查询数据库信息"
)
@ApiOperation
(
value
=
"条件查询数据库信息"
)
@GetMapping
(
"/condition"
)
@GetMapping
(
"/condition
/{projectId}
"
)
public
ResponseEntity
<
CommonResultObj
<
Page
<
Connect
>>>
findConditionConnects
(
public
ResponseEntity
<
CommonResultObj
<
Page
<
Connect
>>>
findConditionConnects
(
@RequestParam
(
defaultValue
=
"10"
)
int
pageSize
,
@RequestParam
(
defaultValue
=
"10"
)
int
pageSize
,
@RequestParam
(
defaultValue
=
"1"
)
int
pageNum
,
@RequestParam
(
defaultValue
=
"1"
)
int
pageNum
,
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
name
)
{
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
name
,
@PathVariable
Long
projectId
)
{
Page
<
Connect
>
results
=
Optional
.
ofNullable
(
connectService
.
page
(
Page
.
of
(
pageNum
,
pageSize
)
Page
<
Connect
>
results
=
Optional
.
ofNullable
(
connectService
.
page
(
Page
.
of
(
pageNum
,
pageSize
)
,
Wrappers
.
lambdaQuery
(
Connect
.
class
)
,
Wrappers
.
lambdaQuery
(
Connect
.
class
)
.
eq
(
Connect:
:
getProjectId
,
projectId
)
.
like
(
StringUtils
.
hasLength
(
name
)
.
like
(
StringUtils
.
hasLength
(
name
)
,
Connect:
:
getName
,
name
))).
orElse
(
new
Page
<>());
,
Connect:
:
getName
,
name
))).
orElse
(
new
Page
<>());
PageTools
.
pageTool
(
pageSize
,
pageNum
,
results
);
PageTools
.
pageTool
(
pageSize
,
pageNum
,
results
);
...
@@ -148,8 +147,7 @@ public class ConnectController {
...
@@ -148,8 +147,7 @@ public class ConnectController {
put
=
{
@CachePut
(
cacheNames
=
"connectPageCache"
,
key
=
"#result.body.data.id"
,
put
=
{
@CachePut
(
cacheNames
=
"connectPageCache"
,
key
=
"#result.body.data.id"
,
condition
=
"#p0 != null"
,
unless
=
"#result.statusCodeValue != 200"
)
condition
=
"#p0 != null"
,
unless
=
"#result.statusCodeValue != 200"
)
},
},
evict
=
{
@CacheEvict
(
cacheNames
=
"connectPageCache"
,
key
=
"#p0.id"
,
evict
=
{
@CacheEvict
(
cacheNames
=
"connectPageCache"
,
allEntries
=
true
)}
condition
=
"#p0 != null"
)}
)
)
public
ResponseEntity
<
CommonResultObj
<
Connect
>>
updateConnect
(
@RequestBody
Connect
connect
)
{
public
ResponseEntity
<
CommonResultObj
<
Connect
>>
updateConnect
(
@RequestBody
Connect
connect
)
{
return
CommonResult
.
pred
(
connectService:
:
updateById
,
connect
return
CommonResult
.
pred
(
connectService:
:
updateById
,
connect
...
...
kt-web/src/main/java/org/matrix/autotest/controller/SwaggerController.java
浏览文件 @
7ab813c0
...
@@ -26,6 +26,7 @@ import java.util.Map;
...
@@ -26,6 +26,7 @@ import java.util.Map;
import
java.util.Set
;
import
java.util.Set
;
import
java.util.regex.Matcher
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
/**
/**
* @author mry
* @author mry
...
@@ -71,11 +72,11 @@ public class SwaggerController {
...
@@ -71,11 +72,11 @@ public class SwaggerController {
/**
/**
* 根据标签名称模糊查询list集合
* 根据标签名称模糊查询list集合
*
*
* @param name 查询条件: 名称
* @param name 查询条件:
标签
名称
* @param list 查询的集合
* @param list 查询的集合
* @return 模糊查询的结果
* @return 模糊查询的结果
*/
*/
public
List
<
InterfaceInformation
>
s
earch
(
String
name
,
List
<
InterfaceInformation
>
list
)
{
public
List
<
InterfaceInformation
>
tagS
earch
(
String
name
,
List
<
InterfaceInformation
>
list
)
{
@SuppressWarnings
(
value
=
"all"
)
List
<
InterfaceInformation
>
results
=
new
ArrayList
();
@SuppressWarnings
(
value
=
"all"
)
List
<
InterfaceInformation
>
results
=
new
ArrayList
();
Pattern
pattern
=
Pattern
.
compile
(
name
,
Pattern
.
CASE_INSENSITIVE
);
Pattern
pattern
=
Pattern
.
compile
(
name
,
Pattern
.
CASE_INSENSITIVE
);
for
(
InterfaceInformation
o
:
list
)
{
for
(
InterfaceInformation
o
:
list
)
{
...
@@ -87,6 +88,45 @@ public class SwaggerController {
...
@@ -87,6 +88,45 @@ public class SwaggerController {
return
results
;
return
results
;
}
}
/**
* 根据接口名称模糊查询list集合
*
* @param name 查询条件: 接口名称
* @param list 查询的集合
* @return 模糊查询的结果
*/
public
List
<
InterfaceInformation
>
nameSearch
(
String
name
,
List
<
InterfaceInformation
>
list
)
{
@SuppressWarnings
(
value
=
"all"
)
List
<
InterfaceInformation
>
results
=
new
ArrayList
();
Pattern
pattern
=
Pattern
.
compile
(
name
,
Pattern
.
CASE_INSENSITIVE
);
for
(
InterfaceInformation
o
:
list
)
{
Matcher
matcher
=
pattern
.
matcher
(
o
.
getSummary
());
if
(
matcher
.
find
())
{
results
.
add
(
o
);
}
}
return
results
;
}
/**
* 根据url糊查询list集合
*
* @param name 查询条件: url
* @param list 查询的集合
* @return 模糊查询的结果
*/
public
List
<
InterfaceInformation
>
urlSearch
(
String
name
,
List
<
InterfaceInformation
>
list
)
{
@SuppressWarnings
(
value
=
"all"
)
List
<
InterfaceInformation
>
results
=
new
ArrayList
();
Pattern
pattern
=
Pattern
.
compile
(
name
,
Pattern
.
CASE_INSENSITIVE
);
for
(
InterfaceInformation
o
:
list
)
{
Matcher
matcher
=
pattern
.
matcher
(
o
.
getMethodUrl
());
if
(
matcher
.
find
())
{
results
.
add
(
o
);
}
}
return
results
;
}
/**
/**
* 用来获取Swagger中的信息
* 用来获取Swagger中的信息
*
*
...
@@ -154,15 +194,28 @@ public class SwaggerController {
...
@@ -154,15 +194,28 @@ public class SwaggerController {
return
list
;
return
list
;
}
}
// private List<InterfaceInformation> listSearch(List<InterfaceInformation> originalList){
// // nameIndex nameMap -> key name -> value List result1
// // methodIndex methodMap result2
// // tagIndex indexMap
// Map<String, List<InterfaceInformation>> nameMap = originalList.stream().collect(Collectors.groupingBy(InterfaceInformation::getSummary));
// Map<String, List<InterfaceInformation>> urlMap = originalList.stream().collect(Collectors.groupingBy(InterfaceInformation::getMethodUrl));
// Map<String, List<InterfaceInformation>> tagsMap = originalList.stream().collect(Collectors.groupingBy(InterfaceInformation::getTags));
//
// }
/**
/**
* 查询快速添加的接口
* 查询快速添加的接口
* name -> summary
* url -> methodUrl
* label -> tags
*
*
* @param projectId
项目id
* @param projectId 项目id
* @param id
环境id
* @param id 环境id
* @param pageSize
每页多少条数据
* @param pageSize 每页多少条数据
* @param pageNum
当前第几页
* @param pageNum 当前第几页
* @param name
查询条件: 标签名称
* @param name 查询条件: 标签名称
* @param url 查询条件: 方法的url
* @param url
查询条件: 方法的url
* @return Swagger中的数据
* @return Swagger中的数据
*/
*/
@GetMapping
@GetMapping
...
@@ -174,7 +227,8 @@ public class SwaggerController {
...
@@ -174,7 +227,8 @@ public class SwaggerController {
@RequestParam
(
defaultValue
=
"10"
)
int
pageSize
,
@RequestParam
(
defaultValue
=
"10"
)
int
pageSize
,
@RequestParam
(
defaultValue
=
"1"
)
int
pageNum
,
@RequestParam
(
defaultValue
=
"1"
)
int
pageNum
,
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
name
,
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
name
,
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
url
)
{
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
url
,
@RequestParam
(
required
=
false
,
defaultValue
=
""
)
String
tag
)
{
//将所有的默认选项置为false
//将所有的默认选项置为false
environmentService
.
setIsDefaultByWrapper
(
false
,
Wrappers
.
lambdaQuery
(
Environment
.
class
).
eq
(
Environment:
:
getProjectId
,
projectId
));
environmentService
.
setIsDefaultByWrapper
(
false
,
Wrappers
.
lambdaQuery
(
Environment
.
class
).
eq
(
Environment:
:
getProjectId
,
projectId
));
//将选中的环境置为true,后续默认选择这个环境
//将选中的环境置为true,后续默认选择这个环境
...
@@ -184,21 +238,33 @@ public class SwaggerController {
...
@@ -184,21 +238,33 @@ public class SwaggerController {
//获得json字符串
//获得json字符串
String
json
=
loadJson
(
swaggerUrl
);
String
json
=
loadJson
(
swaggerUrl
);
List
<
InterfaceInformation
>
list
=
getList
(
json
);
List
<
InterfaceInformation
>
list
=
getList
(
json
);
List
<
InterfaceInformation
>
swaggerSearch
;
List
<
InterfaceInformation
>
swaggerUrlSearch
;
List
<
InterfaceInformation
>
swaggerUrlSearch
;
List
<
InterfaceInformation
>
swaggerNameSearch
;
List
<
InterfaceInformation
>
swaggerTagSearch
;
if
(
""
.
equals
(
url
)
&&
""
.
equals
(
name
))
{
if
(
""
.
equals
(
url
)
&&
""
.
equals
(
tag
)
&&
""
.
equals
(
name
))
{
swaggerNameSearch
=
list
;
swaggerSearch
=
list
;
}
else
if
(!
""
.
equals
(
url
)
&&
""
.
equals
(
name
))
{
}
else
if
(!
""
.
equals
(
url
)
&&
""
.
equals
(
tag
)
&&
""
.
equals
(
name
))
{
swaggerUrlSearch
=
search
(
url
,
list
);
swaggerSearch
=
urlSearch
(
url
,
list
);
swaggerNameSearch
=
swaggerUrlSearch
;
}
else
if
(
""
.
equals
(
url
)
&&
!
""
.
equals
(
tag
)
&&
""
.
equals
(
name
))
{
}
else
if
(
""
.
equals
(
url
)
&&
!
""
.
equals
(
name
))
{
swaggerSearch
=
tagSearch
(
tag
,
list
);
swaggerNameSearch
=
search
(
name
,
list
);
}
else
if
(
""
.
equals
(
url
)
&&
""
.
equals
(
tag
)
&&
!
""
.
equals
(
name
))
{
swaggerSearch
=
nameSearch
(
name
,
list
);
}
else
if
(!
""
.
equals
(
url
)
&&
!
""
.
equals
(
tag
)
&&
""
.
equals
(
name
))
{
swaggerUrlSearch
=
urlSearch
(
url
,
list
);
swaggerSearch
=
tagSearch
(
tag
,
swaggerUrlSearch
);
}
else
if
(!
""
.
equals
(
url
)
&&
""
.
equals
(
tag
)
&&
!
""
.
equals
(
name
))
{
swaggerUrlSearch
=
urlSearch
(
url
,
list
);
swaggerSearch
=
nameSearch
(
name
,
swaggerUrlSearch
);
}
else
if
(
""
.
equals
(
url
)
&&
!
""
.
equals
(
tag
)
&&
!
""
.
equals
(
name
))
{
swaggerTagSearch
=
tagSearch
(
tag
,
list
);
swaggerSearch
=
nameSearch
(
name
,
swaggerTagSearch
);
}
else
{
}
else
{
swaggerUrlSearch
=
search
(
url
,
list
);
swaggerUrlSearch
=
urlSearch
(
url
,
list
);
swaggerNameSearch
=
search
(
name
,
swaggerUrlSearch
);
swaggerTagSearch
=
tagSearch
(
tag
,
swaggerUrlSearch
);
swaggerSearch
=
nameSearch
(
name
,
swaggerTagSearch
);
}
}
int
total
=
swagger
Name
Search
.
size
();
int
total
=
swaggerSearch
.
size
();
List
<
InterfaceInformation
>
subList
=
swagger
Name
Search
.
subList
(
pageSize
*
(
pageNum
-
1
),
(
Math
.
min
((
pageNum
*
pageSize
),
total
)));
List
<
InterfaceInformation
>
subList
=
swaggerSearch
.
subList
(
pageSize
*
(
pageNum
-
1
),
(
Math
.
min
((
pageNum
*
pageSize
),
total
)));
CommonPage
<
List
<
InterfaceInformation
>>
listCommonPage
=
new
CommonPage
<>();
CommonPage
<
List
<
InterfaceInformation
>>
listCommonPage
=
new
CommonPage
<>();
listCommonPage
.
setList
(
subList
);
listCommonPage
.
setList
(
subList
);
listCommonPage
.
setTotal
(
total
);
listCommonPage
.
setTotal
(
total
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论