【问题标题】:Cannot access to swagger UI using tomcat, spring boot and Rest无法使用 tomcat、spring boot 和 Rest 访问 swagger UI
【发布时间】:2020-03-16 12:04:20
【问题描述】:

我正在尝试将 swagger ui 文档添加到我的 Spring Boot 应用程序中。 这是我在代码中执行的步骤:

将依赖项添加到我的 POM.XML

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

然后将 swagger 注释添加到 swagger 配置中,如下所示:

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

执行此网址时:http://localhost:8080/my-app-name/swagger-ui.html 我得到了这个结果:

您的帮助将非常受欢迎!

【问题讨论】:

  • 您的应用程序日志中应该有来自该 500 的错误或异常。这是什么?
  • Oui,levoilà:由于异常 [由于 [来源:org.apache. catalina.connector.CoyoteInputStream@4521efdb;行:1,列:0]] com.fasterxml.jackson.databind.JsonMappingException:由于 [Source: org.apache.catalina.connector.CoyoteInputStream@4521efdb; 的输入结束,没有要映射的内容;行:1,列:0] 在
  • com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:270) ~[jackson-databind-2.8.7.jar:2.8.7]at com.fasterxml.jackson.databind .ObjectMapper._initForReading(ObjectMapper.java:3838) ~[jackson-databind-2.8.7.jar:2.8.7]at om.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3783) ~[jackson- databind-2.8.7.jar:2.8.7]at
  • com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2908) ~[jackson-databind-2.8.7.jar:2.8.7] 在 fr.eni.ewsa.rest .security.TokenAuthenticationService.getAuthentication(TokenAuthenticationService.java:67) ~[classes/:3.0.0-SNAPSHOT
  • @ChrisSavory tu penses que c'est relié à une compatibilité avec ma version de maven et spring boot et swagger2?

标签: rest spring-boot http swagger-ui


【解决方案1】:

我遇到了类似的问题(我的错误代码是 404 而不是像你的 500),直到我添加了资源处理程序:

@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("swagger-ui.html")
        .addResourceLocations("classpath:/META-INF/resources/");

    registry.addResourceHandler("/webjars/**")
        .addResourceLocations("classpath:/META-INF/resources/webjars/");
}

希望有帮助

【讨论】:

    猜你喜欢
    • 2018-01-27
    • 2018-05-29
    • 2017-04-13
    • 2018-02-12
    • 1970-01-01
    • 2018-03-29
    • 2021-07-31
    • 2021-06-03
    • 2021-03-23
    相关资源
    最近更新 更多