Java 列出spring boot cxf中的所有rest服务URL

Java 列出spring boot cxf中的所有rest服务URL,java,spring,rest,spring-boot,cxf,Java,Spring,Rest,Spring Boot,Cxf,在使用cxf和spring boot时,是否可以列出所有REST服务?我已经创建了ApplicationListener,在这里我想列出为我的CXFServlet注册的所有REST服务URL。我试着浏览了CXFServlet、ServletContext、cxfEndpoint和cxfServer类,但我弄不清楚。我还试着查看wadl生成器(功能)和swagger2功能,但它们会在请求到来时创建url和内容。可能吗 谢谢。我会扫描类路径上的@WebService注释,也许它会帮助您: @

在使用cxf和spring boot时,是否可以列出所有REST服务?我已经创建了
ApplicationListener
,在这里我想列出为我的CXFServlet注册的所有REST服务URL。我试着浏览了
CXFServlet
ServletContext
、cxf
Endpoint
和cxf
Server
类,但我弄不清楚。我还试着查看wadl生成器(功能)和swagger2功能,但它们会在请求到来时创建url和内容。可能吗


谢谢。

我会扫描类路径上的
@WebService
注释,也许它会帮助您:

    @Autowired
    private ClassPathScanningCandidateComponentProvider annotationScanner;

    public List<ClassDocument> generate(String basePackage) throws ClassNotFoundException {
       Set<BeanDefinition> candidateComponents = annotationScanner.findCandidateComponents(basePackage);

       List<ClassDocument> classDocuments = new ArrayList<>();

       for (BeanDefinition component : candidateComponents) {
           ClassDocument classDocument = new ClassDocument();

           Class<?> beanClass = Class.forName(component.getBeanClassName());

           classDocument.setClassName(beanClass.getName());

           String[] baseUrl = beanClass.getAnnotation(javax.jws.WebService.class).value();

           addMethods(classDocument, beanClass, baseUrl);

           classDocuments.add(classDocument);
       }

       return classDocuments;
   }
@Autowired
私有类路径扫描候选组件提供程序注释扫描程序;
公共列表生成(字符串basePackage)引发ClassNotFoundException{
设置candidateComponents=annotationScanner.findCandidateComponents(basePackage);
List classDocuments=new ArrayList();
对于(BeanDefinition组件:候选组件){
ClassDocument ClassDocument=新的ClassDocument();
类beanClass=Class.forName(component.getBeanClassName());
classDocument.setClassName(beanClass.getName());
String[]baseUrl=beanClass.getAnnotation(javax.jws.WebService.class).value();
addMethods(classDocument、beanClass、baseUrl);
classDocuments.add(classDocument);
}
归还文件;
}

我会扫描类路径上的
@WebService
注释,也许它会帮助您:

    @Autowired
    private ClassPathScanningCandidateComponentProvider annotationScanner;

    public List<ClassDocument> generate(String basePackage) throws ClassNotFoundException {
       Set<BeanDefinition> candidateComponents = annotationScanner.findCandidateComponents(basePackage);

       List<ClassDocument> classDocuments = new ArrayList<>();

       for (BeanDefinition component : candidateComponents) {
           ClassDocument classDocument = new ClassDocument();

           Class<?> beanClass = Class.forName(component.getBeanClassName());

           classDocument.setClassName(beanClass.getName());

           String[] baseUrl = beanClass.getAnnotation(javax.jws.WebService.class).value();

           addMethods(classDocument, beanClass, baseUrl);

           classDocuments.add(classDocument);
       }

       return classDocuments;
   }
@Autowired
私有类路径扫描候选组件提供程序注释扫描程序;
公共列表生成(字符串basePackage)引发ClassNotFoundException{
设置candidateComponents=annotationScanner.findCandidateComponents(basePackage);
List classDocuments=new ArrayList();
对于(BeanDefinition组件:候选组件){
ClassDocument ClassDocument=新的ClassDocument();
类beanClass=Class.forName(component.getBeanClassName());
classDocument.setClassName(beanClass.getName());
String[]baseUrl=beanClass.getAnnotation(javax.jws.WebService.class).value();
addMethods(classDocument、beanClass、baseUrl);
classDocuments.add(classDocument);
}
归还文件;
}

基本上您只想显示url端点?不是内容吗?是的。只是一个列表,基本上你只想显示url端点?不是内容吗?是的。只是一个类似的列表