package com.jackray.iam;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;

import java.util.HashSet;
import java.util.Map;
import java.util.Set;

@SpringBootApplication
public class IamApplication {

    public static void main(String[] args) {
        ConfigurableApplicationContext run = SpringApplication.run(IamApplication.class, args);
        getAllReqestMapping(run);
    }

    public static void  getAllReqestMapping(ConfigurableApplicationContext run){
        RequestMappingHandlerMapping bean = run.getBean(RequestMappingHandlerMapping.class);
        Map<RequestMappingInfo, HandlerMethod> handlerMethods = bean.getHandlerMethods();
        handlerMethods.forEach((k,v)->{
            Set<RequestMethod> methods = k.getMethodsCondition().getMethods();
            if(CollectionUtils.isEmpty(methods)){
                methods = new HashSet<>();
                methods.add(RequestMethod.GET);
                methods.add(RequestMethod.POST);
            }
            final Set<String> patterns = k.getPatternsCondition().getPatterns();
            for (RequestMethod requestMethod :methods){
                for(String pattern:patterns){
                    System.out.println("method:"+requestMethod+",pattern:"+pattern);
                }
            }
        });
    }


}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐