Wildfly Swarm和Swagger用户界面生成空页面
我已经创建了一个小的演示WildFly Swarm rest应用程序。当我构建并运行我的应用程序时,如果 我按预期获得了Swagger.json:Wildfly Swarm和Swagger用户界面生成空页面,swagger,swagger-ui,wildfly-swarm,Swagger,Swagger Ui,Wildfly Swarm,我已经创建了一个小的演示WildFly Swarm rest应用程序。当我构建并运行我的应用程序时,如果 我按预期获得了Swagger.json: { "swagger":"2.0", "info":{ }, "tags":[ { "name":"hello" } ], "paths":{ "/hello":{ "get":{ "tags":[
{
"swagger":"2.0",
"info":{
},
"tags":[
{
"name":"hello"
}
],
"paths":{
"/hello":{
"get":{
"tags":[
"hello"
],
"summary":"Just say hello...",
"description":"Something",
"operationId":"doGet",
"produces":[
"text/plain"
],
"parameters":[
],
"responses":{
"200":{
"description":"successful operation",
"schema":{
"type":"string"
}
}
}
}
}
}
}
但当我去的时候,我得到了一个空白页。我是缺少一些配置,还是应该在没有其他配置的情况下开箱即用
下面我附上了我的源代码和pom.xml:
我的消息来源:
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
@Path("/hello")
@Api(value = "/hello", description = "Sey hello...")
public class HelloWorldEndpoint {
@GET
@Produces("text/plain")
@ApiOperation(
value = "Just say hello...",
notes = "Something",
response = String.class
)
public Response doGet() {
return Response.ok("Hello from WildFly Swarm!").build();
}
}
我的pom.xml如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>si.pucko</groupId>
<artifactId>demo</artifactId>
<name>WildFly Swarm Example</name>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<version.wildfly.swarm>2017.6.1</version.wildfly.swarm>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<failOnMissingWebXml>false</failOnMissingWebXml>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>bom-all</artifactId>
<version>${version.wildfly.swarm}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>demo</finalName>
<plugins>
<plugin>
<groupId>org.wildfly.swarm</groupId>
<artifactId>wildfly-swarm-plugin</artifactId>
<version>${version.wildfly.swarm}</version>
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<!-- Java EE 7 dependency -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<!-- WildFly Swarm Fractions -->
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>jaxrs-jaxb</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>swagger</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>swagger-webapp</artifactId>
</dependency>
</dependencies>
</project>
4.0.0
斯普科
演示
野蝇群例子
1.0.0-SNAPSHOT
战争
2017.6.1
1.8
1.8
假的
UTF-8
org.wildfly.swarm
全部物料清单
${version.wildfly.swarm}
进口
聚甲醛
演示
org.wildfly.swarm
wildfly swarm插件
${version.wildfly.swarm}
包裹
爪哇
JavaEEAPI
7
假如
org.wildfly.swarm
jaxrs jaxb
org.wildfly.swarm
大摇大摆
org.wildfly.swarm
大摇大摆的网络应用
我的第一个想法是JAX-RS正在接管根上下文,这会阻止/swagger ui加载。换句话说,JAX-RS认为端点是由它控制的。您是否可以尝试添加自定义JAX-RS应用程序类,并将路径设置为“/”以外的路径,这可能会解决此问题。请获取相同的问题。好的,请向重现此问题的项目提出问题。谢谢。我也遇到了同样的问题,wildfly swarm和swagger似乎在使用JAXRS/resteasy的相互冲突的依赖关系。通过创建一个只包含静态swagger ui文件的新Web应用程序修复了此问题。