【发布时间】:2026-02-07 22:20:04
【问题描述】:
我做的是用Grizzly/Jersey托管swagger-ui,是静态内容。
这是build.gradle的一部分:
compile 'org.glassfish.jersey.core:jersey-server:2.22.1'
compile 'org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.22.1'
compile 'org.glassfish.jersey.containers:jersey-container-grizzly2-servlet:2.22.1'
以下是使用Grizzly 配置静态内容的方法:
httpServer = GrizzlyWebContainerFactory.create(uri);
httpServer.getServerConfiguration().addHttpHandler(new StaticHttpHandler("swagger-ui"), "/swagger");
swagger-ui是项目根文件夹下的文件夹。
当我访问 http://localhost/swagger/ 时一切正常,但是当我尝试 http://localhost/swagger 时,它只给出了一个没有渲染的简单页面,似乎所有 css/js 文件都丢失了:
我想知道使不带斜杠(/)的 url 与带有斜杠的 URL 相同的最佳方法是什么。
更新:
我已经向 swagger-ui 提出了一张票:https://github.com/swagger-api/swagger-ui/issues/1966,但它说这是Grizzly 的配置问题,所以Grizzly 的另一张票:https://java.net/jira/browse/GRIZZLY-1823
现在没有找到解决方案。我正在考虑使用另一个网络服务器。
【问题讨论】:
-
将在 Grizzly 2.3.25 中修复
标签: javascript html url swagger