首页 > 解决方案 > Spring Camel -Swagger UI 集成 - 404 Not Found

问题描述

我一直在尝试将 swagger ui 集成到一个骆驼项目中,并且我能够看到 api 文档。我已跟进此线程以集成 swagger ui。 如何在我的应用程序中集成 swagger-ui (将 swagger ui 的 swagger dist 文件夹复制到 webapp 并添加路由“rest(”/swagger“)”以通过 routebuilder 访问)

当我运行骆驼项目并访问 index.html 文件时,我得到了空白页。在浏览器控制台下,我看到浏览器无法访问 html 文件中的 css 文件。我尝试从 html 文件中的脚本标签中删除“./”,但仍然遇到相同的错误。

索引.html

    <script src="./swagger-ui-standalone-preset.js" charset="UTF-8"> </script>
    <script>
    window.onload = function() {
      // Begin Swagger UI call region
      const ui = SwaggerUIBundle({
        url: "http://petstore.swagger.wordnik.com/api/api-docs",
        dom_id: '#swagger-ui',
        deepLinking: true,
        presets: [
          SwaggerUIBundle.presets.apis,
          SwaggerUIStandalonePreset
        ],
        plugins: [
          SwaggerUIBundle.plugins.DownloadUrl
        ],
        layout: "StandaloneLayout"
      });
      // End Swagger UI call region

      window.ui = ui;
    };
  </script>```

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

浏览器控制台上的 404 错误

PS:当我直接在浏览器上从文件夹中打开 index.html 文件时,我能够看到带有所有 api 文档详细信息的 swagger UI,只有在启动项目后访问时才会出现错误。

任何帮助,将不胜感激。谢谢。

标签: javascripthtmlspringapache-camelswagger-ui

解决方案


推荐阅读