当我尝试获取swagger.json时始终出现错误404

时间:2019-07-09 13:15:34

标签: java rest swagger resteasy seam

我的问题是,我在maven项目的Java中有一个带有seam的RESTEasy api,它可以正常工作,但是当我试图用swagger记录该api时,swagger.json文件却从未建立。我不知道问题是什么。

pom.xml:
    <dependency>
        <groupId>org.jboss.seam</groupId>
        <artifactId>jboss-seam-resteasy</artifactId>
        <version>2.2.2.Final</version>
    </dependency>

    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxrs</artifactId>
        <version>2.2.2.GA</version>
    </dependency>

    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jackson-provider</artifactId>
        <version>2.2.2.GA</version>
    </dependency>

    <!-- Dependencia swagger -->
    <!-- https://mvnrepository.com/artifact/io.swagger/swagger-annotations -->
    <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-annotations</artifactId>
        <version>1.5.20</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.swagger/swagger-jaxrs -->
    <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-jaxrs</artifactId>
        <version>1.5.20</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.swagger/swagger-core -->
    <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-core</artifactId>
        <version>1.5.20</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.swagger/swagger-models -->
    <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-models</artifactId>
        <version>1.5.20</version>
    </dependency>

web.xml:

<!-- Swagger -->
<servlet>
    <servlet-name>SwaggerConfigurationServlet</servlet-name>
    <display-name>SwaggerConfigurationServlet</display-name>
    <description></description>
    <servlet-class>packageOfSwaggerConfiguration.SwaggerConfigurationServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>`  

SwaggerConfigurationServlet:

@ApplicationPath("v3")

public class SwaggerConfigurationServlet extends Application {

/**
 * 
 */
private static final long serialVersionUID = -9026370104891567770L;

public void Init(ServletConfig config) throws ServletException{
    BeanConfig beanConfig=new BeanConfig();
    beanConfig.setSchemes(new String[] {"http"});
    beanConfig.setBasePath("http://localhost:8080/NameOfProyect/seam/resource/rest");
    beanConfig.setTitle("Swagger");
    beanConfig.setVersion("1.0");
    beanConfig.setResourcePackage("PackageOfApi");
    beanConfig.setScan(true);
    beanConfig.setPrettyPrint(true);
}
public Set<Class<?>> getClasses() {
    Set<Class<?>> s = new HashSet<Class<?>>();


    // here I add my REST WSs
    s.add(ApiListingResource.class);
    s.add(SwaggerSerializers.class);


    return s;
}

index.html:



$(function () {

  var url = window.location.search.match(/url=([^&]+)/);
  if (url && url.length > 1) {
    url = decodeURIComponent(url[1]);
  } else {
    url = "http://localhost:8080/NameOfProyect/seam/resource/rest/swagger.json";
  }

我希望swagger.json文件位于http://localhost:8080/NameOfProyect/seam/resource/rest/swagger.json中,或者 http://localhost:8080/NameOfProyect/seam/resource/rest/v3/swagger.json

但从未成立。

1 个答案:

答案 0 :(得分:0)

我猜您的应用程序路径错误。您应该检查一下吗。

相关问题