我正在尝试让 Swagger UI 与 Spring Boot 1.2.1 一起使用。我按照以下说明进行操作https://github.com/martypitt/swagger-springmvc https://github.com/martypitt/swagger-springmvc我添加了@EnableSwagger
在我的弹簧配置上。
我目前在访问时会返回 JSONhttp://localhost:8080/api-docs
但没有漂亮的 HTML。
我使用 Maven 并添加了对 swagger-ui 的依赖:
<dependency>
<groupId>org.ajar</groupId>
<artifactId>swagger-spring-mvc-ui</artifactId>
<version>0.4</version>
</dependency>
这是我的完整依赖项列表:
<dependencies>
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-springmvc</artifactId>
<version>0.9.4</version>
</dependency>
<dependency>
<groupId>org.ajar</groupId>
<artifactId>swagger-spring-mvc-ui</artifactId>
<version>0.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
我也尝试过http://localhost:8080/docs/index.html
作为 URL,但这只是给出“Whitelabel 错误页面”
Update:
我在Github上创建了一个测试项目来展示这个问题:https://github.com/wimdeblauwe/springboot-swagger-test https://github.com/wimdeblauwe/springboot-swagger-test
你的问题在于你的SwaggerConfiguration
文件。你需要拿出来@EnableWebMvc
,因为这会导致默认的 Spring Boot 视图解析器被以不同方式提供静态内容的默认“SpringWebMvc”视图解析器覆盖。
默认情况下,Spring Boot 将从以下任意目录提供静态内容:
- /META-INF/资源/
- /资源/
- /static/
- /public/
包括 webjar。
我遇到了同样的问题,我在文档中发现了这一点:http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-spring-mvc-auto-configuration http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-spring-mvc-auto-configuration
如果你想完全控制Spring MVC,你可以添加你自己的@Configuration
注释为@EnableWebMvc
。如果您想保留 Spring Boot MVC 功能,并且只想添加额外的 MVC 配置(拦截器、格式化程序、视图控制器等),您可以添加自己的@Bean
类型的WebMvcConfigurerAdapter
, but without @EnableWebMvc
.
我希望这有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)