gpt4 book ai didi

java - 通过jetty.xml进行Swagger UI配置

转载 作者:行者123 更新时间:2023-12-02 11:45:12 25 4
gpt4 key购买 nike

我正在尝试将 Swagger UI 添加到在 Jetty 上运行的 Java EE 项目。我有一个编程配置示例,但我很难将其转换为 XML,因为我的服务器配置是在 jetty.xml 文件中定义的。

我的问题是resourceBase属性的定义。

这是示例配置:

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);

这是我当前的 jetty.xml 的相关部分:

<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>

最佳答案

我不确定是否有更好的方法,但我相信最简单的方法虽然不是最灵活的,但是将 swagger-ui 文件复制到 webapp 目录中(最终复制到“api”等文件夹中) )。这将使 swagger-ui 无需进一步配置即可立即访问。

关于java - 通过jetty.xml进行Swagger UI配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48261369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com