没有 web.xml 和 Swagger UI 的 Apache CXF

Apache CXF without web.xml with Swagger UI

我将 CXF 用于 RESTful 没有 web.xml 的 Web 服务。所有 CXF 和 rest 端点配置存储在 xml 文件中(由 Spring 管理)。现在我正在尝试在我的服务中实施 Swagger。我已将 SwaggerFeature 添加到我的 jax-rs 配置中:

<jaxrs:features>
       <ref bean="swaggerFeature"/>
</jaxrs:features>

所以现在我的端点 (http://localhost:8080/api-docs) 的纯 JSON 描述工作正常。但我不知道如何将 Swagger UI 连接到我的项目。我见过的所有示例都使用 web.xml。没有这个配置是否可以连接Swagger UI?提前致谢。


编辑。 现在这个问题已经解决了。 CXF 使用嵌入式码头服务器。我刚刚将自定义 org.eclipse.jetty.server.handler.ResourceHandler 添加到 JettyHTTPServerEngine bean 声明并配置了它。因此静态内容暴露在网络上。

swagger-ui与web.xml无关。如果您将其作为应用程序的一部分托管,则只需修改 index.html 并将其指向您的 /api-docs。如果你单独保留,你仍然需要修改index.html,但你还需要在你的应用程序中启用CORS支持。 swagger-ui 和 swagger-core 都包含更多相关信息。