实际上我正在尝试为我的REST服务生成swagger.json。 我成功地使用jersy,但现在我们使用不在我们的服务中使用jersy,我们只使用Jax-rs,所以现在我无法生成它并得到404错误代码。
这是我的pom依赖
<dependencies>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jaxrs</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.10</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
这是我的应用配置应用
import java.util.HashSet;
import java.util.Set;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
import com.skios.endpoint.EmployeeEndpoint;
import com.skios.endpoint.ShopsEndpoint;
import io.swagger.jaxrs.config.BeanConfig;
import io.swagger.jaxrs.listing.ApiListingResource;
import io.swagger.jaxrs.listing.SwaggerSerializers;
@ApplicationPath("api")
public class AppConfiguration extends Application {
public AppConfiguration() {
BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.2");
beanConfig.setSchemes(new String[] { "http" });
beanConfig.setHost("localhost:7070");
beanConfig.setBasePath("app");
beanConfig.setResourcePackage("com.skios.endpoint");
beanConfig.setScan(true);
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new HashSet();
resources.add(ShopsEndpoint.class);
resources.add(EmployeeEndpoint.class);
// ...
resources.add(ApiListingResource.class);
resources.add(SwaggerSerializers.class);
return resources;
}
}
这些是我的终点
@Api(value = "/employees", description = "Endpoint for employee listing")
@Path("/employees")
public class EmployeeEndpoint {}
@Path("/shops")
@Api(value="/shops", description="Shops")
public class ShopsEndpoint {}
以及当我尝试输入swagger.json文件的路径时
http://localhost:7070/MavenSwaggerTest/api/swagger.json
i got 404 error code.
那么问题是什么?谁能帮我? 感谢
答案 0 :(得分:0)
您尚未正确配置ApplicationPath
和BasePath
。
像这样配置它。
@ApplicationPath("/api")
beanConfig.setBasePath("/api");
现在http://localhost:7070/MavenSwaggerTest/api/swagger.json
可以使用,除非有任何其他问题。