I love json ,swagger 生成json文档

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

 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值