SpringBoot配置SwaggerUI访问404错误的解决方法

时间:2022-09-03 23:31:32

SpringBoot 配置SwaggerUI 访问404的小坑。

在学习SpringBoot构建Restful API的时候遇到了一个小坑,配置Swagger UI的时候无法访问。

首先在自己的pom文件中加入Swagger的依赖,如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
<dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger-ui</artifactId>
      <version>2.2.2</version>
    </dependency>
 
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.2.2</version>
</dependency>

然后在新建一个SwaggerConfig类:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Configuration
@EnableSwagger2
public class SwaggerConfig {
  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.nightowl"))
        .paths(PathSelectors.any())
        .build();
  }
  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        .title("NightOwl RESTful APIs")
        .description("关注我 http://hwangfantasy.github.io/")
        .termsOfServiceUrl("http://hwangfantasy.github.io/")
        .contact("颜艺学长")
        .version("1.0")
        .build();
  }
}

最后在自己的Controller中加上一系列的API注解即可,其实不需要加上API注解也可以正常使用。
最后在localhost:8080/swagger-ui.html 访问即可看到swagger页面了。

但是关键来了,我第一次按照这样的方法配置却提示如下错误:

?
1
2
3
4
5
6
7
Whitelabel Error Page
 
This application has no explicit mapping for /error, so you are seeing this as a fallback.
 
Thu Nov 24 19:57:13 CST 2016
There was an unexpected error (type=Not Found, status=404).
No message available

但是我新建一个项目重新配置却没有任何问题,于是想到自己的项目中肯定有哪些配置与swagger冲突了,
最后发现在 application.properties 中把

?
1
spring.resources.static-locations=classpath:/static/

这一行注释掉即可访问了。

SpringBoot配置SwaggerUI访问404错误的解决方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://blog.csdn.net/hwangfantasy/article/details/66542602