Интеграция swagger resteasy jboss

Я пытался интегрировать чванство с отдыхом. Я пробовал много реализаций. Реализация, которая работает для меня, приведена ниже. Но я не вижу apis[].

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
    <display-name>ConnectloudWeb</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>

    <context-param>
        <param-name>resteasy.resources</param-name>
        <param-value>com.wordnik.swagger.jaxrs.listing.ApiListingResourceJSON</param-value>
    </context-param>

        <context-param>
            <param-name>resteasy.providers</param-name>
            <param-value>
                com.wordnik.swagger.jaxrs.listing.ApiDeclarationProvider
                ,com.wordnik.swagger.jaxrs.listing.ResourceListingProvider
                ,com.connectloudweb.webservices.interceptor.SecurityInterceptor
            </param-value>
        </context-param>

    <context-param>
        <param-name>resteasy.scan</param-name>
        <param-value>false</param-value>
    </context-param>
    <context-param>
        <param-name>resteasy.scan.providers</param-name>
        <param-value>false</param-value>
    </context-param>
    <context-param>
        <param-name>resteasy.scan.resources</param-name>
        <param-value>false</param-value>
    </context-param>
    <servlet>
        <servlet-name>ApiDeclarationServlet</servlet-name>
        <servlet-class>com.wordnik.swagger.servlet.listing.ApiDeclarationServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ApiDeclarationServlet</servlet-name>
        <url-pattern>/api-docs/*</url-pattern>
    </servlet-mapping>
    <!--context-param>
        <param-name>resteasy.scan</param-name>
        <param-value>true</param-value>
    </context-param -->
<!--    <context-param>
        <param-name>resteasy.providers</param-name>
        <param-value>com.connectloudweb.webservices.interceptor.SecurityInterceptor</param-value>
    </context-param>-->
    <context-param>
        <param-name>resteasy.servlet.mapping.prefix</param-name>
        <param-value>/</param-value>
    </context-param>
    <servlet>
        <servlet-name>Resteasy</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Resteasy</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    <context-param>
        <param-name>javax.ws.rs.core.Application</param-name>
        <param-value>com.connectloudweb.webservices.MyRESTApplication</param-value>
    </context-param>
    <listener>
        <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
    </listener>
    <filter>
        <filter-name>CORS</filter-name>
        <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
        <init-param>
            <param-name>cors.allowGenericHttpRequests</param-name>
            <param-value>true</param-value>
        </init-param>

        <init-param>
            <param-name>cors.allowOrigin</param-name>
            <param-value>*</param-value>
        </init-param>
        <init-param>
            <param-name>cors.allowSubdomains</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>cors.supportedMethods</param-name>
            <param-value>GET, HEAD, POST, OPTIONS, PUT, DELETE</param-value>
        </init-param>

        <init-param>
            <param-name>cors.supportedHeaders</param-name>
            <!--param-value>Content-Type, X-Requested-With, Accept, Authentication</param-value-->
            <param-value>cache-control,Pragma,Origin,Content-Type, X-Requested-With, Accept, Authentication, Access-Control-Allow-Origin</param-value>
        </init-param>

        <init-param>
            <param-name>cors.exposedHeaders</param-name>
            <param-value>X-Test-1, X-Test-2</param-value>
        </init-param>

        <init-param>
            <param-name>cors.supportsCredentials</param-name>
            <param-value>false</param-value>
        </init-param>

        <init-param>
            <param-name>cors.maxAge</param-name>
            <param-value>36000</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>CORS</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

POM.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <artifactId>connectloud</artifactId>
        <groupId>com.connectloud</groupId>
        <version>1.0</version>
    </parent>

    <groupId>com.connectloud</groupId>
    <artifactId>RestAPI</artifactId>
    <version>${RestAPI-version}</version>
    <packaging>war</packaging>

    <name>RestAPI</name>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <netbeans.hint.deploy.server>JBoss4</netbeans.hint.deploy.server>
        <swagger-version>1.3.0</swagger-version>
    </properties>

    <dependencies>       
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jaxrs</artifactId>
            <version>2.3.2.Final</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jaxb-provider</artifactId>
            <version>2.3.2.Final</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.googlecode.json-simple</groupId>
            <artifactId>json-simple</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>common</artifactId>
            <version>${common-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Manager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>PlatformMonitor</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>6.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.thetransactioncompany</groupId>
            <artifactId>cors-filter</artifactId>
            <version>1.5.1</version>
        </dependency>

                <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>JBPM</artifactId>
            <version>${JBPM-version}</version>
                        <exclusions>
                                <exclusion>
                                        <artifactId>javassist</artifactId>
                                        <groupId>org.javassist</groupId>
                                </exclusion>
                        </exclusions>
        </dependency>
        <!--<dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>CatalogManager</artifactId>
            <version>${CatalogManager-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>ResourceManager</artifactId>
            <version>${ResourceManager-version}</version>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>ComputeManager</artifactId>
            <version>${ComputeManager-version}</version>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>RabbitManager</artifactId>
            <version>${RabbitManager-version}</version>
        </dependency>

        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>TenantManager</artifactId>
            <version>${TenantManager-version}</version>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>LocalizationManager</artifactId>
            <version>${LocalizationManager-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>ContractManager</artifactId>
            <version>${ContractManager-version}</version>
            <type>jar</type>
        </dependency>     
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>QuotaManager</artifactId>
            <version>${QuotaManager-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>OrderManager</artifactId>
            <version>${OrderManager-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>CLDeviceManager</artifactId>
            <version>${CLDeviceManager-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>LookupManager</artifactId>
            <version>${LookupManager-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>CLEmailManager</artifactId>
            <version>${CLEmailManager-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>CLLabelManager</artifactId>
            <version>${ClLabelManager-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>CLStateTax</artifactId>
            <version>${CLStateTax-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>DemoSnetManager</artifactId>
            <version>${DemoSnetManager-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>DemoVmManager</artifactId>
            <version>${DemoVmManager-version}</version>
             <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>SnetManager</artifactId>
            <version>${SnetManager-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>tElasticOrchestrationManager</artifactId>
            <version>${tElasticOrchestrationManager-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>MonitoringManager</artifactId>
            <version>${MonitoringManager-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>model</artifactId>
            <version>${model-version}</version>
        </dependency>
        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>PolicyManager</artifactId>
            <version>${PolicyManager-version}</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>DeviceManager</artifactId>
            <version>2.1.0</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>TenantStatusManager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>orderStatusManager</artifactId>
            <version>1.0</version>
        </dependency>

        <dependency>
            <groupId>com.connectloud</groupId>
            <artifactId>DownloadManager</artifactId>
            <version>${DownloadManager-version}</version>
        </dependency>-->



        <!--        <dependency>
            <groupId>com.wordnik</groupId>
            <artifactId>swagger-jaxrs_2.10</artifactId>
            <version>${swagger-version}</version>
        </dependency>-->
        <!--        <dependency>
            <groupId>com.wordnik</groupId>
            <artifactId>swagger-annotations_2.10</artifactId>
            <version>${swagger-version}</version>
        </dependency>
        <dependency>
            <groupId>com.wordnik</groupId>
            <artifactId>swagger-core_2.10</artifactId>
            <version>${swagger-version}</version>
        </dependency>
        <dependency>
            <groupId>com.wordnik</groupId>
            <artifactId>swagger-jaxrs_2.10</artifactId>
            <version>${swagger-version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>dom4j</artifactId>
                    <groupId>dom4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>-->
        <dependency>
            <groupId>com.wordnik</groupId>
            <artifactId>swagger-servlet_2.9.1</artifactId>
            <version>1.3.0</version>
            <exclusions>
                <exclusion>
                    <artifactId>dom4j</artifactId>
                    <groupId>dom4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>com.wordnik</groupId>
            <artifactId>swagger-jaxrs_2.9.1</artifactId>
            <version>1.3.0</version>
            <exclusions>
                <exclusion>
                    <artifactId>dom4j</artifactId>
                    <groupId>dom4j</groupId>
                </exclusion>
            </exclusions>
            <type>jar</type>
        </dependency>
    </dependencies>

</project>

С уважением, Али Аббас.


person Ali Abbas    schedule 20.05.2014    source источник
comment
Вы получаете сообщение об ошибке и не могли бы вы определить, что не можете видеть API?   -  person James R. Perkins    schedule 21.05.2014
comment
Я получаю ответ: { apiVersion: "1.0.0", swaggerVersion: "1.2" } Я не получаю никаких ошибок в журналах. Похоже, чванство не может узнать, что он классы обслуживания.   -  person Ali Abbas    schedule 21.05.2014
comment
Хм.. ..Я мало что знаю об этом, но кажется, что это должно работать в WildFly issues.jboss.org/browse/WFLY-831, но, вероятно, не JBoss AS 7.x или JBoss EAP 6.x   -  person James R. Perkins    schedule 22.05.2014


Ответы (1)


На самом деле это было связано с указанным ниже тегом, поэтому закомментировал его, и все работает нормально.

<!--<context-param> 
<param-name>resteasy.servlet.mapping.prefix</param-name> 
<param-value>/</param-value> 
</context-param>--> 

ссылка на блог, из которого я определил свою ошибку.

person Ali Abbas    schedule 08.05.2015
comment
Я получаю сообщение об ошибке типа Не удалось загрузить спецификацию - person ShraddhaJ; 22.11.2017
comment
не могли бы вы помочь мне со следующей проблемой: link Столкнулся с похожей проблемой - person ShraddhaJ; 22.11.2017