我已完成以下步骤:
我有一个现有的向导项目设置[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注释添加到我的资源文件中。
我已将以下代码添加到应用程序运行类:
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文件]
答案 0 :(得分:3)
您正在使用冲突和不完整的依赖项。如果您查看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直接)。如果您使用与您拥有的配置相似的配置,它应该可以正常工作。