将 Swagger 与 Dropwizard 集成,无法生成 swagger.json 文件
Integrate Swagger with Dropwizard, not able to produce the swagger.json file
我已经完成了以下步骤:
我有一个现有的下拉向导项目设置 [0.8 版本]。
增加了依赖性
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-jaxrs_2.10</artifactId>
<version>1.3.12</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-core</artifactId>
<version>1.5.1-M2</version>
</dependency>
我已将 @Api 注释添加到我的资源文件中。
我已将以下代码添加到应用程序 运行 class:
environment.jersey().register(new ApiListingResource());
BeanConfig config = new BeanConfig();
config.setTitle("default Application");
config.setVersion("1.0.0");
config.setResourcePackage("com.class.where.the.api.annotation.are");
config.setScan(true);
问题是当我 运行 应用程序时,我无法通过 http://localhost:8080/swagger.json.
获得 swagger.json
几乎遵循此处的示例:https://github.com/swagger-api/swagger-core/tree/master/samples/java-dropwizard
有人知道问题出在哪里吗?我还需要设置什么? [应用程序 运行 并且启动正常,我只是无法访问那个 swagger.json 文件]
您使用的是相互冲突且不完整的依赖项。如果您查看 https://github.com/swagger-api/swagger-samples/tree/master/java/java-dropwizard 示例,您会发现您实际上需要包括:
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-jersey2-jaxrs</artifactId>
<version>1.5.1-M1</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
而且仅此而已(直接没有 swagger-core)。如果您确实按照与您所拥有的配置类似的配置进行操作,它应该可以正常工作。
我已经完成了以下步骤:
我有一个现有的下拉向导项目设置 [0.8 版本]。
增加了依赖性
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-jaxrs_2.10</artifactId>
<version>1.3.12</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-core</artifactId>
<version>1.5.1-M2</version>
</dependency>
我已将 @Api 注释添加到我的资源文件中。
我已将以下代码添加到应用程序 运行 class:
environment.jersey().register(new ApiListingResource());
BeanConfig config = new BeanConfig();
config.setTitle("default Application");
config.setVersion("1.0.0");
config.setResourcePackage("com.class.where.the.api.annotation.are");
config.setScan(true);
问题是当我 运行 应用程序时,我无法通过 http://localhost:8080/swagger.json.
获得 swagger.json几乎遵循此处的示例:https://github.com/swagger-api/swagger-core/tree/master/samples/java-dropwizard
有人知道问题出在哪里吗?我还需要设置什么? [应用程序 运行 并且启动正常,我只是无法访问那个 swagger.json 文件]
您使用的是相互冲突且不完整的依赖项。如果您查看 https://github.com/swagger-api/swagger-samples/tree/master/java/java-dropwizard 示例,您会发现您实际上需要包括:
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-jersey2-jaxrs</artifactId>
<version>1.5.1-M1</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
而且仅此而已(直接没有 swagger-core)。如果您确实按照与您所拥有的配置类似的配置进行操作,它应该可以正常工作。