我下载的dist文件夹重命名为swagger并更新index.html但我无法通过我的应用程序端口访问用户界面:http://localhost:${port}/${contextPath}/swagger/index.html
但如果我打字http://localhost:${port}/api doc,我得到了swagger-json转储。
我可以访问索引。html,如果转到该文件并使用浏览器手动打开它。如何访问索引。html使用我的应用程序端口?
http://localhost:${port}/${contextPath}/swagger/index。html
一个更简单的解决方案是添加一个web.xml文件,将资源移动到 /webapp目录,在web.xml中添加以下过滤器
<filter>
<filter-name>RestSwaggerCorsFilter</filter-name>
<filter-class>org.apache.camel.swagger.servlet.RestSwaggerCorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>RestSwaggerCorsFilter</filter-name>
<url-pattern>/api-docs/*</url-pattern>
<url-pattern>/rest/*</url-pattern>
</filter-mapping>
有关详细信息,请参阅驼峰招摇文档:http://camel.apache.org/swagger-java.html
我使用Camel Jetty作为REST组件。对于jetty,您只需要添加一个额外的ResourceHandler来处理SwaggerUI资源。下面使用Spring xml语言配置REST:
<restConfiguration component="jetty" host="{{rest_hostname}}" port="{{rest_listen_port}}"
bindingMode="off" apiContextPath="api-docs" apiContextListing="true"
enableCORS="true">
<!--ResourceHandler to handle Swagger UI contents on the jetty-->
<endpointProperty key="handlers" value="swaggerUIHandler"/>
......
......
</restConfiguration>
我在webjars提供的jar中使用了swaggerUI。配置处理程序bean:
<bean id="swaggerUIHandler" class="com.yifanwu.examples.camel.JettyResourceHandlerFactory" factory-method="buildResourceHandler">
<!--your resource path is just "swagger" assuming it is on the classpath-->
<constructor-arg name="resourcePath" value="META-INF/resources/webjars"/>
</bean>
豆子工厂:
public class JettyResourceHandlerFactory {
public static ResourceHandler buildResourceHandler(String resourcePath) throws Exception {
ResourceHandler rh = new ResourceHandler();
rh.setResourceBase(JettyResourceHandlerFactory.class.getClassLoader()
.getResource(resourcePath)
.toURI().toString());
return rh;
}
}
这里的完整示例:github
您需要公开一个将返回index.html文件的endpoint。尝试将以下内容添加到RouteBuilder:
rest("/swagger")
.produces("text/html")
.get("/index.html")
.responseMessage().code(200).message("Swagger UI").endResponseMessage()
.to("direct://get/swagger/ui/path");
from("direct://get/swagger/ui/path")
.routeId("SwaggerUI")
.setBody().simple("resource:classpath:/swagger/index.html");
第一个路由定义了接受GET请求并返回text/html的restfulendpoint /swagger/index.html。
第二条路由使用Camel的简单组件读取实际索引。将html导入Exchange邮件正文。
因此,如果您转到localhost:${port}/${contextPath}/swagger/index。html,它应该加载索引。html文件正确。
请注意,inside Index。html您需要替换将返回API的JSON转储的URL,以便Swagger UI可以呈现它。
内网搭建后 加入端口访问 不可行吗 公司要求必须加入端口访问内网,然而现在目前再用的网站做迁移的时候发现很多端口 我批量开启后 测试无法访问 路由器映射 已经完成 公司用的专线 有动态公网地址 外网中可以访问面板地址也可以正常操作 唯独部署的 项目端口无法访问 ng的80端口 没动 创建的空间端口 8080 1070 这种 也无法访问 折腾不来
我无法访问内部运行 ASP.NET Core 3.1 应用程序的容器。目标是在端口 5000 上的容器中运行应用程序。当我使用标准VS配置文件在本地运行它时,我导航到 http://localhost:5000/swagger/index.html 以加载swaggerUI。我想使用泊坞窗实现同样的事情。 复制我的问题的步骤: > 添加具有暴露的5000端口和ENV ASPNETCORE_url变
我试图测试camel与kafka的集成,如这里所述 以下是我的代码 然而,我得到了以下错误 请提出可能遗漏的内容。
我正在从事一个使用Apache Camel和Elasticsearch的项目,我想知道Camel支持哪个版本的Elasticsearch? 我的pom.xml是这样的: 但是当我想将文件路由到elasticsearch时,我遇到了以下错误: Java语言lang.IllegalStateException:收到来自不受支持版本的消息:[2.0.0]最小兼容版本为:[5.0.0] 我发现这个异常是由
我是一个码头工人,我在前几天阅读了如何使用它的官方教程。我决定将我非常简单的spring-boot应用程序作为服务部署到集群中,但我无法从外部访问它。顺便说一下,当我用docker run启动docker时,容器是可以访问的。 所以我的春靴tomcat正在收听8081。 Dockerfile: docker-compose.yml: 我部署了两个服务,一个可视化程序和一个Spring引导应用程序。
dockerfile: docker撰写文件: 应用程序属性文件: 当我运行docker-comush up时,它将创建一个数据库容器和一个连接到数据库容器的应用程序容器。 但是spring应用程序容器在启动过程中遇到了一些错误: org.postgresql.util.PSQL异常:连接到localhost:5432被拒绝。检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接。 显示数据库