获取controller中所有接口路径和名称
@Autowired
WebApplicationContext applicationContext;
@GetMapping("/getInterfacePath")
public Map getInterfacePath(){
RequestMappingHandlerMapping mapping = applicationContext.getBean(RequestMappingHandlerMapping.class);
// 拿到Handler适配器中的全部方法
Map<RequestMappingInfo, HandlerMethod> methodMap = mapping.getHandlerMethods();
HashMap<String, String> urlMap = new HashMap<>();
for (RequestMappingInfo info : methodMap.keySet()){
//获取请求路径
Set<String> urlSet = info.getPatternsCondition().getPatterns();
// 获取全部请求方式
//Set<RequestMethod> Methods = info.getMethodsCondition().getMethods();
//获取全部请求名称
String urlName = info.getName();
for (String url : urlSet){
if(StrUtil.isNotBlank(urlName)){
urlMap.put(urlName,url);
}
}
}
return urlMap;
}
需要获取到接口名称需要添加name属性
@PostMapping(value = "updateRole", name = "修改用户角色")
接口路径、名称、http请求方法取值路径
执行结果: