【问题标题】:swagger-ui.html stopped coming upswagger-ui.html 停止出现
【发布时间】:2018-08-28 18:28:31
【问题描述】:

我设法在 Spring Boot 应用程序上应用了 swagger ui,并且能够使用 http://localhost:8181/swagger-ui.html 打开页面

一段时间后,我继续处理我的应用程序,现在它消失了。我没有删除任何罐子。我添加了一个 Application Startup 类,当我在 Wildfly 10 上部署时,它用于在启动时加载一些东西。

即使我尝试将它作为 Spring Boot 应用程序与 tomcat 一起运行,它也不起作用。我不确定我改变了什么,这突然停止了。

我可以打开 /swagger-resources/configuration/ui 和 /swagger-resources/configuration/security 和 /swagger/api-docs (我把 springfox.documenation.swagger.v2.path 作为 /myapp/swagger/api -文档)

当我击球时

我在日志中得到了这个

2018-03-20 13:01:22.130 DEBUG 9928 --- [0.1-8181-exec-5] o.s.web.servlet.DispatcherServlet        : DispatcherServlet with name 'dispatcherServlet' processing GET request for [/swagger-ui.html]
2018-03-20 13:01:22.131 DEBUG 9928 --- [0.1-8181-exec-5] s.w.s.m.m.a.RequestMappingHandlerMapping : Looking up handler method for path /swagger-ui.html
2018-03-20 13:01:22.131 DEBUG 9928 --- [0.1-8181-exec-5] .m.m.a.ExceptionHandlerExceptionResolver : Resolving exception from handler [null]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
2018-03-20 13:01:22.131 DEBUG 9928 --- [0.1-8181-exec-5] .w.s.m.a.ResponseStatusExceptionResolver : Resolving exception from handler [null]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
2018-03-20 13:01:22.132 DEBUG 9928 --- [0.1-8181-exec-5] .w.s.m.s.DefaultHandlerExceptionResolver : Resolving exception from handler [null]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
2018-03-20 13:01:22.132 DEBUG 9928 --- [0.1-8181-exec-5] o.s.web.servlet.DispatcherServlet        : Null ModelAndView returned to DispatcherServlet with name 'dispatcherServlet': assuming HandlerAdapter completed request handling
2018-03-20 13:01:22.132 DEBUG 9928 --- [0.1-8181-exec-5] o.s.web.servlet.DispatcherServlet        : Successfully completed request

【问题讨论】:

    标签: java spring spring-boot swagger


    【解决方案1】:

    问题是我在类上有一个带有 RequestMapping("/myapp") 的控制器

    因为这也是一个 Wildfly 应用程序,所以我有一个 jboss-web.xml,在 contextroot 中具有相同的值

    现在当我部署在 WF 10 上时。我的上下文根变为 /myapp/myapp 以击中控制器,否则它不会击中控制器。所以我将它从控制器中删除,每当我转到 swagger-ui.html 时,它都会通过控制器并且(如日志所述)找不到 /swagger-ui.html 的任何处理程序)

    【讨论】:

      【解决方案2】:
      • 可能是 swagger-UI 依赖项不存在,这就是它存在的原因 无法加载 Swagger UI。

      请在 pom.xml 中添加依赖

      <dependency>
                  <groupId>io.springfox</groupId>
                  <artifactId>springfox-swagger-ui</artifactId>
                  <version>2.5.0</version>
              </dependency>
      

      之后使用 swagger 配置,这样就可以启用 swagger。

      @Configuration
      @EnableSwagger2
      public class SwaggerConfig {                                    
      
          @Bean
          public Docket api() { 
              return new Docket(DocumentationType.SWAGGER_2)  
                .select()                                  
                .apis(RequestHandlerSelectors.any())              
                .paths(PathSelectors.any())                          
                .build();                                           
          }
      

      【讨论】:

        猜你喜欢
        • 2020-10-20
        • 2022-01-16
        • 1970-01-01
        • 2018-06-08
        • 2017-02-19
        • 1970-01-01
        • 1970-01-01
        • 2020-11-14
        • 2016-07-09
        相关资源
        最近更新 更多