Java 通过jetty.xml进行Swagger UI配置
我正在尝试向Jetty上运行的JavaEE项目添加Swagger UI。我有一个编程配置示例,但我很难将其转换为XML,因为我的服务器配置是在jetty.XML文件中定义的 我的问题是resourceBase属性的定义 以下是配置示例: 下面是我当前jetty.xml的相关部分:Java 通过jetty.xml进行Swagger UI配置,java,xml,servlets,jetty,swagger,Java,Xml,Servlets,Jetty,Swagger,我正在尝试向Jetty上运行的JavaEE项目添加Swagger UI。我有一个编程配置示例,但我很难将其转换为XML,因为我的服务器配置是在jetty.XML文件中定义的 我的问题是resourceBase属性的定义 以下是配置示例: 下面是我当前jetty.xml的相关部分: 我不确定是否有更好的方法,但我相信simples方法虽然不是最灵活的方法,但它是将swagger ui文件复制到webapp目录中,最终复制到api之类的文件夹中。这将使swagger ui无需进一步配置即可立即访问
我不确定是否有更好的方法,但我相信simples方法虽然不是最灵活的方法,但它是将swagger ui文件复制到webapp目录中,最终复制到api之类的文件夹中。这将使swagger ui无需进一步配置即可立即访问
ResourceHandler rh = new ResourceHandler();
rh.setResourceBase(InsectopediaServer.class.getClassLoader()
.getResource("META-INF/resources/webjars/swagger-ui/2.1.4").toURI().toString());
ContextHandler resourceContext = new ContextHandler();
resourceContext.setContextPath("/api/");
resourceContext.setHandler(rh);
ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.setHandlers(new Handler[] { servletContext, resourceContext });
server.setHandler(contexts);
<Set name="handler">
<New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
<Set name="handlers">
<Array type="org.eclipse.jetty.server.Handler">
<Item>
<New class="org.eclipse.jetty.server.handler.ContextHandler">
<Set name="contextPath">/api</Set>
<Set name="handler">
<New class="org.eclipse.jetty.server.handler.ResourceHandler">
<Set name="resourceBase"></Set>
</New>
</Set>
</New>
</Item>
<Item>
<New id="Contexts"
class="org.eclipse.jetty.server.handler.ContextHandlerCollection" />
</Item>
<Item>
<New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler" />
</Item>
</Array>
</Set>
</New>
</Set>