WANG 6 年之前
父節點
當前提交
056079eee5
共有 1 個文件被更改,包括 15 次插入0 次删除
  1. 15 0
      src/main/java/cn/com/qmth/examcloud/web/support/ApiInfoHolder.java

+ 15 - 0
src/main/java/cn/com/qmth/examcloud/web/support/ApiInfoHolder.java

@@ -29,6 +29,8 @@ import io.swagger.annotations.ApiOperation;
 @Order(100)
 public class ApiInfoHolder implements ApplicationRunner {
 
+	private static final Map<String, ApiInfo> INDEX_BY_MAPPING = Maps.newConcurrentMap();
+
 	private static final Map<Integer, ApiInfo> INDEX_BY_API_ID = Maps.newConcurrentMap();
 
 	private static final Map<Method, ApiInfo> INDEX_BY_METHOD = Maps.newConcurrentMap();
@@ -60,6 +62,17 @@ public class ApiInfoHolder implements ApplicationRunner {
 		return INDEX_BY_METHOD.get(method);
 	}
 
+	/**
+	 * 通过mapping获取ApiInfo
+	 *
+	 * @author WANGWEI
+	 * @param mapping
+	 * @return
+	 */
+	public static ApiInfo getApiInfo(String mapping) {
+		return INDEX_BY_MAPPING.get(mapping);
+	}
+
 	/**
 	 * 获取@ApiId注解的ApiInfo集合
 	 *
@@ -156,6 +169,8 @@ public class ApiInfoHolder implements ApplicationRunner {
 				apiInfoSet.add(apiInfo);
 			}
 			INDEX_BY_METHOD.put(handlerMethod.getMethod(), apiInfo);
+
+			INDEX_BY_MAPPING.put(mapping, apiInfo);
 		}
 	}