package com.example.mockserver.controller;
import com.example.mockserver.entity.MockOnlyResponse;
import com.example.mockserver.service.OnlyResponseService;
import com.example.mockserver.util.ArrayUtil;
import com.example.mockserver.util.ReplaceRandomUtil;
import lombok.extern.slf4j.Slf4j;
import com.example.mockserver.model.MockContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@RestController
@Slf4j
public class ResponseController {
@Autowired
private OnlyResponseService onlyResponseService;
@Autowired
private HttpServletRequest request;
@RequestMapping("/**")
public String doMock() throws IOException {
log.info("请求的URI---------:"+request.getRequestURI());
log.info("请求IP---------:"+request.getRemoteAddr());
log.info("请求的参数---------:"+request.getParameterMap());
// 将获取的用户数据 ip 参数 URI ,存储到 mockContext 这个类里
MockContext mockContext = MockContext.builder()
.requestIp(request.getRemoteAddr()) // 获取ip
.requestParams(getParams(request.getParameterMap()))
.requestURI(request.getRequestURI()) // 获取请求的URI
.build();
// [name=zhangsan, classification=Language]
List<String> userParamStringList = mockContext.getParamStringList();
Integer totalNum = 0;
String response = "";
System.out.println(userParamStringList);
// 开始遍历
List<MockOnlyResponse> mockOnlyResponseList = onlyResponseService.findByUri(mockContext.getRequestURI());
System.out.println(mockOnlyResponseList);
for (MockOnlyResponse mockOnlyResponse : mockOnlyResponseList) {
Integer num = 0;
for(String str:userParamStringList){
// 字典
Map<String, Integer> mapParams = mockOnlyResponse.getMapParams();
if (mapParams.containsKey(str)) {
num += mapParams.get(str);
}
}
if(num>totalNum){
totalNum = num;
response = mockOnlyResponse.getResponse_content();
}
}
// 随机数字/字符串处理
response = ReplaceRandomUtil.replaceRandomFields(response);
return response;
}
// 获取用户的传参,value是一个数组。这里为了将来处理方便,我们将这数组转成一个字符串。
// 我们默认,这个数据的长度是1,那我们只需要取出来数组的第一个值就可以了。
public Map<String,String> getParams(Map<String,String[]> parameterMap){
Map<String,String> params = parameterMap.entrySet().stream().collect(Collectors.toMap(e -> e.getKey(), e -> ArrayUtil.getFirst(e.getValue())));
return params;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Spring Boot与MyBatis结合 实现对mock平台改造
共311个文件
xml:98个
class:48个
java:40个
2 下载量 22 浏览量
2023-07-25
15:19:31
上传
评论
收藏 246KB ZIP 举报
温馨提示
Spring Boot与MyBatis结合 实现对mock平台改造
资源推荐
资源详情
资源评论
收起资源包目录
Spring Boot与MyBatis结合 实现对mock平台改造 (311个子文件)
003e3c49f057bdc53755edc7eee4a9ecf9a241 49B
020f2ce65c22ca1127302935483e6eb7b370ce 319B
050fbf400d761affb1fa8c2f27a6febf55901f 220B
0ba2a431bf87763162220c7fb74c10f10a80f3 711B
13457944f5fa76c0cfeb1e42abe8c217177e3e 89B
14ffcf9ff4718bc19d00851ce8db710fb7b987 79B
15e7e2a509e305c2e88586bd9519f4ae64e4b7 132B
1a79fd62c48b75619aac970f69aa7eda1e1152 2KB
25c651a7cb02cc89e80379fb1f8a537a735c85 167B
287450c80a7cc3a0ff34a1b11c04a07bd1fb55 499B
2fbc471148e1f94697de52cbee36aa8e0ccfdd 59B
31e1dc1e68f9f939f02ac394711e20bff4721e 156B
347674434bf0f9a2ef688cff7d3a6e9e493645 173B
38efe7b05fde8ad983deaf98520483a1ceb86f 111B
3be07cc646968836da8e476ebddd93f5c2871a 2KB
3f770c502ac18cddb838ed74a621986a3fec29 119B
40e16df466ecb87ee756d02de8607e77224e21 1KB
4646778c76f22addc5048036e1085bfcaafef9 1KB
480781a0d2cd58392a9daa8f08cda67861b3b7 174B
4f355f9ad752e1ec216628bcbfe779d0f586bc 193B
515a8677eff7ed09afd798a8ce0cb41db996b6 709B
52b00c392e99ddb97eb619468eae506739781c 46B
549668b34492d877e653163c460ee9548682a3 656B
57e34d6a64cfc4bd72a651912919d4c8351fd0 278B
5a961ec947c9da8f1bf3669f97a1e7b6cd47e0 258B
5b8c5b199752ac29598be64835cdd901e10f2e 970B
5f0fa1a0631dcea9053e7d1786fc1cafca7544 35B
5f73e5a6bf76c1f67275e02357c909d672b35f 306B
5fc45f1b6fa01d805ea7caf25379d572c3fbe5 90B
62fe74710f522227a40bd1dd11e89de488384c 105B
634af763c88cfde501291f48271dfc2c6c6bf4 694B
6a7191e54e6e354291eede69580d20a7fce404 116B
6cf418e56701a0c7d53ac403393d8b894c59b5 74B
73907cec3d506e3c231042cf80bbe11a2a153d 247B
7ab6575c97ac142a0ab9a93c4bf36235648615 378B
7f429bfeaf12511acd59103bfbda271376eabf 130B
825dc642cb6eb9a060e54bf8d69288fbee4904 15B
867f3634032733fa613fe828c64d018a7f4f3f 120B
86bbb3c10aa56790ff8c40207ad27fff33fd2b 667B
897c7398b9e90799e11f237b1e6ebe7549b3bf 252B
8d6125dd9f5716a1e467270001b0049a289b91 250B
8e1b7d9b094415b56ff98621c360fdbdedd46f 464B
9463a4e326b0f3cebe0892c677eeb6ae98c840 232B
94adfcb37a0dce5e7350407255c3c0b9946fb9 602B
9637522e6ba4b64a4b40cf8a9152fd2b64aa1d 959B
9890ec02d985254675e8af6e8555e8756132cd 76B
9a412adeea1b587fe64c70c7622ef72d01288b 81B
9e00a2a96fa9d7c5dbc9859664a78d980158c2 249B
9e9e04a4aefb42a3e197632166b73ca73e9c5b 323B
9f0c7ae2bc51e0748e03b50f248fb9c32d91b1 34B
9fa95231c508881e2650f414dff8430c9255a4 52B
9fd373f3cc0596bea01097b1a38f3e72e0431c 95B
a 326B
a 326B
a11b2f90c3f438a337677039e38878391fcc1f 85B
a3457d4292dfa3e8be551df77b1954137a9cf1 196B
a822ef603613761aed0620c10a1bed2300206d 446B
ad9fa5b27f4454c434799d3d72412b9db8133a 243B
afbb0a1674ed1b519de888c53013dda037e8fa 166B
b 328B
b 328B
b05f00dd647d2802f80fc27420a982eb511352 187B
b155fffd11fee84bd0ce1152f747d9ebe47f51 36B
b8426c0b4d71ed1a4fbacc3f8b57a647896071 185B
bb108fb93c303becf0fa0e08141bf6ceec7f12 129B
c 324B
c 324B
c424537a1a905aadf30c7ba2c738227ecff085 45B
c50afa257fe33202a3e42d4944edf47414d271 1KB
cc5cc8e4281c47310e51025ed00eefb835e063 312B
cd7f4a5ef030f181bb184faf79eeee6249d760 46B
MockContext.class 9KB
ResponseController.class 6KB
MockController.class 4KB
ResultMsg.class 4KB
CalcWeightObserver.class 4KB
MockDataInfo.class 4KB
MockContext$MockContextBuilder.class 3KB
MockResponse.class 3KB
RealObserver.class 3KB
MockOnlyResponse.class 3KB
HookContext.class 3KB
LoadMockFileObserver.class 3KB
CommonHookDecorator.class 2KB
ObserverManager.class 2KB
HookResponseObserver0.class 2KB
HookResponseObserver.class 2KB
MappingParamsEntity.class 2KB
DecoratorManager.class 2KB
ChainManager.class 2KB
RandomStrDecorator.class 2KB
RandomIdDecorator.class 2KB
YamlUtil.class 2KB
ReplaceRandomUtil.class 2KB
HookContext$HookContextBuilder.class 2KB
FileHandler.class 1KB
AbstractHandler.class 1KB
DirectoryHandle.class 1KB
RandomUtil.class 1KB
PackObserver.class 1KB
共 311 条
- 1
- 2
- 3
- 4
资源评论
做测试的喵酱
- 粉丝: 6112
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功