Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qa-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
qa-platform
Commits
05773eb6
Commit
05773eb6
authored
Mar 16, 2021
by
黎博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
debug
parent
7249cb5b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
9 deletions
+31
-9
YeebaoInterceptor.java
.../cn/qg/qaplatform/mock/interceptor/YeebaoInterceptor.java
+31
-9
No files found.
src/main/java/cn/qg/qaplatform/mock/interceptor/YeebaoInterceptor.java
View file @
05773eb6
...
...
@@ -21,6 +21,7 @@ import java.io.BufferedReader;
import
java.io.PrintWriter
;
import
java.nio.charset.StandardCharsets
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Slf4j
...
...
@@ -69,6 +70,26 @@ public class YeebaoInterceptor implements HandlerInterceptor {
return
map
;
}
public
Map
<
String
,
Object
>
handleResponseMap
(
Map
<
String
,
Object
>
requestMap
,
Map
<
String
,
Object
>
responseMap
)
{
for
(
Map
.
Entry
<
String
,
Object
>
entry:
responseMap
.
entrySet
())
{
if
(
entry
.
getValue
()
instanceof
List
)
{
List
<
Map
>
list
=
(
List
)
entry
.
getValue
();
for
(
Map
<
String
,
Object
>
map:
list
)
{
for
(
Map
.
Entry
<
String
,
Object
>
entry2:
map
.
entrySet
())
{
String
value2
=
entry2
.
getValue
().
toString
();
if
(
value2
.
startsWith
(
"$request"
))
{
entry2
.
setValue
(
requestMap
.
get
(
value2
.
split
(
"\\."
)[
1
]));
}
}
}
}
else
if
(
entry
.
getValue
()
instanceof
String
)
{
String
value
=
entry
.
getValue
().
toString
();
entry
.
setValue
(
requestMap
.
get
(
value
.
split
(
"\\."
)[
1
]));
}
}
return
responseMap
;
}
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
...
...
@@ -131,15 +152,16 @@ public class YeebaoInterceptor implements HandlerInterceptor {
responseMap
=
JsonTransUtils
.
strToMap
(
mock
.
getFail
());
}
// 如果response中存在变量,则使用requestMap中对应变量进行替换
for
(
Map
.
Entry
<
String
,
Object
>
entry:
responseMap
.
entrySet
())
{
String
value
=
(
String
)
entry
.
getValue
();
if
(
value
.
startsWith
(
"$request"
))
{
entry
.
setValue
(
requestMap
.
get
(
value
.
split
(
"\\."
)[
1
]));
}
if
(
uri
.
equals
(
"/tzt-api/api/bindcard/request"
))
{
requestMap
.
put
(
"yborderid"
,
"TZAUba0c7b8"
+
requestMap
.
get
(
"requestno"
)
+
"95c929ca802e"
);
}
}
// for (Map.Entry<String, Object> entry: responseMap.entrySet()) {
// String value = (String) entry.getValue();
// if (value.startsWith("$request")) {
// entry.setValue(requestMap.get(value.split("\\.")[1]));
// }
// if (uri.equals("/tzt-api/api/bindcard/request")) {
// requestMap.put("yborderid", "TZAUba0c7b8" + requestMap.get("requestno") + "95c929ca802e");
// }
// }
responseMap
=
handleResponseMap
(
requestMap
,
responseMap
);
// 对response加密
printWriter
.
write
(
encryptConvertor
.
encrypt
(
JsonTransUtils
.
mapToJson
(
responseMap
)));
return
true
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment