emmmm
老大我把所有的swagger改成 配置文件的那种
今天下午逛了一下午的博客和swagger官网。。
发现有个编辑器
项目里面之前是用的yaml
有个编辑器看着总比自己写错了好点儿
写了一会儿,我的天,,干嘛要报错,,
即使是不影响的错误也爆出来了
我的天,强迫症,受不了
算了算了
我还是自己手动写吧,
终于写好了一个
然后
小伙伴wp过来了,
说,你都在干啥,,
从他那里知道可以把所有的RequestMapping的信息都拿出来,,
what!!!还有这种操作!!!
那我还写啥!!
刚好我查看源码的时候发现这个可以用json的
哈哈
然后,,就试了一下,果然可以
拥抱json,I love json
不啰嗦了
贴代码
1.controller中添加一个方法
@RequestMapping(value = "v1/getAllUrl")
public List<Map<String, String>> getAllUrl() {
RequestMappingHandlerMapping mapping =
applicationContext.getBean(RequestMappingHandlerMapping.class); // 获取url与类和方法的对应信息
Map<RequestMappingInfo, HandlerMethod> map = mapping.getHandlerMethods();
List<String> urlList = new ArrayList<>(); //
for (RequestMappingInfo info : map.keySet()) { //
// 获取url的Set集合,一个方法可能对应多个url//
Set<String> patterns = info.getPatternsCondition().getPatterns(); // //
for (String url : patterns) {
urlList.add(url);
}
}
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
for (Map.Entry<RequestMappingInfo, HandlerMethod> m : map.entrySet()) {
Map<String, String> map1 = new HashMap<String, String>();
RequestMappingInfo info = m.getKey();
HandlerMethod method = m.getValue();
PatternsRequestCondition p = info.getPatternsCondition();
for (String url : p.getPatterns()) {
map1.put("url", url);
}
map1.put("className", method.getMethod().getDeclaringClass().getName()); // 类名
map1.put("method", method.getMethod().getName()); // 方法名
RequestMethodsRequestCondition methodsCondition = info.getMethodsCondition();
for (RequestMethod requestMethod : methodsCondition.getMethods()) {
map1.put("type", requestMethod.toString());
}
list.add(map1);
}
return list;
}
2.写好之后,访问一下上面这个方法得到数据,新建一个文件index.json
3.改一下引用
4.访问一下api,就搞定了
hahaha
2018-11-8
我太天真了,,那天是误打误撞,从已经生成的swagger中12拿到的数据,,然后放进去就可以用了
今天又试了一下,发现不是,
emmm
12