Commit c49f9179 authored by 黎博's avatar 黎博

新增curl解析接口

parent 18a5c48b
......@@ -111,10 +111,32 @@ public class InterfaceController {
return JsonResult.buildSuccessResult(interfaceService.removeById(interfaceId));
}
/**
* 解析CURL
* @param code curl代码
* @return
*/
@GetMapping("/curl")
public JsonResult resolutionCurl(@RequestParam String code) {
List<Map<String, String>> headersList = new ArrayList<>();
List<Map<String, String>> parametersList = new ArrayList<>();
Map<String, Object> resultMap = new HashMap<>();
if (code.contains("GET")) {
// 处理GET请求
String getParameters = code.split("\\?")[1];
// 去掉末尾的单引号
getParameters = getParameters.substring(0, getParameters.length()-1);
String[] paramPair = getParameters.split("&");
for (String pair: paramPair) {
String[] pairList = pair.split("=");
Map<String, String> map = new HashMap<>();
map.put("paramsName", pairList[0]);
map.put("paramsValue", pairList[1]);
parametersList.add(map);
}
} else if (code.contains("POST")) {
// 处理POST请求
String headerRegex = "--header '(.*)'";
String parameterDataRegex = "--data-urlencode '(.*)'";
String parameterFormRegex = "--form '(.*)'";
......@@ -122,7 +144,7 @@ public class InterfaceController {
Pattern headerPattern = Pattern.compile(headerRegex);
Pattern parameterDataPattern = Pattern.compile(parameterDataRegex);
Pattern parameterFormPattern = Pattern.compile(parameterFormRegex);
Pattern parameterJsonPattern = Pattern.compile(parameterJsonRegex);
Pattern parameterJsonPattern = Pattern.compile(parameterJsonRegex, Pattern.DOTALL);
Matcher headerMatcher = headerPattern.matcher(code);
Matcher parameterDataMatcher = parameterDataPattern.matcher(code);
Matcher parameterFormMatcher = parameterFormPattern.matcher(code);
......@@ -162,7 +184,6 @@ public class InterfaceController {
while (parameterJsonMatcher.find()) {
Map<String, String> parameterMap = new HashMap<>();
String parameterItem = parameterJsonMatcher.group(1);
System.out.println(parameterItem);
Map<String, Object> requestMap = JSON.parseObject(parameterItem, Map.class);
for (Map.Entry<String, Object> entry: requestMap.entrySet()) {
parameterMap.put("paramsName", entry.getKey());
......@@ -170,9 +191,9 @@ public class InterfaceController {
parametersList.add(parameterMap);
}
}
Map<String, Object> map = new HashMap<>();
map.put("headersList", headersList);
map.put("parametersList", parametersList);
return JsonResult.buildSuccessResult(map);
}
resultMap.put("headersList", headersList);
resultMap.put("parametersList", parametersList);
return JsonResult.buildSuccessResult(resultMap);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment