一、创建一个方法来解析url后面的参数:
```java
public static Map<String, Object> getQueryParams(String url) {
try {
Map<String, Object> params = new HashMap<>();
String[] urlParts = url.split("\\?");
if (urlParts.length > 1) {
String query = urlParts[1];
for (String param : query.split("&")) {
String[] pair = param.split("=");
String key = URLDecoder.decode(pair[0], "UTF-8");
String value = "";
if (pair.length > 1) {
value = URLDecoder.decode(pair[1], "UTF-8");
}
List values = (List) params.get(key);
if (values == null) {
values = new ArrayList();
params.put(key, values);
}
values.add(value);
}
}
return params;
} catch (Exception e) {
logger.error("参数解析异常", e);
return null;
}
二、因为存入map集合中的数据都是一个一个数组,所以取出的数据需要去掉“【”“】”
public void saveMiddlePage(MiddlePageParam middlePageParam) {
try {
Map<String, Object> map = getQueryParams(middlePageParam.getFullLink());
if (map.containsKey("channelPosition")) {
if (map.get("channelPosition") != null) {
middlePageParam.setChannelPosition(map.get("channelPosition").toString().toString().replace("[", "").replace("]", ""));
} else {
middlePageParam.setChannelPosition("");
}
}
if (map.containsKey("refeeChannelId")) {
if (map.get("refeeChannelId").toString() != null) {
middlePageParam.setRefeeChannelId(map.get("refeeChannelId").toString().toString().replace("[", "").replace("]", ""));
} else {
middlePageParam.setRefeeChannelId("");
}
}
if (map.containsKey("refeePhone")) {
if (map.get("refeePhone").toString() != null) {
middlePageParam.setRefeePhone(map.get("refeePhone").toString().toString().replace("[", "").replace("]", ""));
} else {
middlePageParam.setRefeePhone("");
}
}
if (map.containsKey("refeeChannelName")) {
if (map.get("refeeChannelName") != null) {
middlePageParam.setRefeeChannelName(map.get("refeeChannelName").toString().toString().replace("[", "").replace("]", ""));
} else {
middlePageParam.setRefeeChannelName("");
}
}
int i = interPageService.insertMidder(middlePageParam);
} catch (Exception e) {
logger.error("参数解析异常", e);
}
}