@GetMapping(value = "login")
@CrossOrigin
@ResponseBody
public User addArticle(HttpServletRequest request) {
Set<String> result = new HashSet<String>();
WebApplicationContext wc = (WebApplicationContext) request.getAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE);
RequestMappingHandlerMapping bean = wc.getBean(RequestMappingHandlerMapping.class);
Map<RequestMappingInfo, HandlerMethod> handlerMethods = bean.getHandlerMethods();
for (RequestMappingInfo rmi : handlerMethods.keySet()) {
PatternsRequestCondition pc = rmi.getPatternsCondition();
Set<String> pSet = pc.getPatterns();
result.addAll(pSet);
}
for (String s : result){
System.out.println("打印数据"+s);
}
return null;
}
springboot
@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);
}
}
});
}
}