我的问题是,我有一个带有java接缝的RESTEasy api,一个maven项目,它可以正常工作,但是当我尝试用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
但从未成立。
最佳答案
我猜你的应用程序路径是错误的。你应该检查一下吗?
关于java - 当我尝试获取 swagger.json 时总是收到错误 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56953483/