SpringBoot 获取所有url的数据
【代码】SpringBoot 获取所有url的数据。
·
获取对应服务的所有url
- 将下述代码加到对应服务里跑出所有的url
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
@RestController
public class VmsApiController {
@Autowired
WebApplicationContext applicationContext;
@GetMapping("/getAllUrl")
public String getAllUrl() {
RequestMappingHandlerMapping mapping = applicationContext.getBean(RequestMappingHandlerMapping.class);
// 拿到Handler适配器中的全部方法
Map<RequestMappingInfo, HandlerMethod> methodMap = mapping.getHandlerMethods();
List<String> urlList = new ArrayList<>();
for (RequestMappingInfo info : methodMap.keySet()) {
Set<String> urlSet = info.getPatternsCondition().getPatterns();
// 获取全部请求方式
// Set<RequestMethod> Methods = info.getMethodsCondition().getMethods();
// System.out.println(Methods.toString());
// 加上自己的域名和端口号,就可以直接调用
urlList.addAll(urlSet);
}
return urlList.toString();
}
}
更多推荐
所有评论(0)