Spring boot 无法使Swagger UI使用Spring boot
我正在尝试让Swagger UI与Spring Boot 1.2.1配合使用。我按照上的说明在spring配置中添加了Spring boot 无法使Swagger UI使用Spring boot,spring-boot,swagger,swagger-ui,Spring Boot,Swagger,Swagger Ui,我正在尝试让Swagger UI与Spring Boot 1.2.1配合使用。我按照上的说明在spring配置中添加了@EnableSwagger 当前,当我转到http://localhost:8080/api-文档但没有漂亮的HTML 我正在使用Maven并添加了对swagger ui的依赖: <dependency> <groupId>org.ajar</groupId> <artifactId>swagger-spring-
@EnableSwagger
当前,当我转到http://localhost:8080/api-文档
但没有漂亮的HTML
我正在使用Maven并添加了对swagger ui的依赖:
<dependency>
<groupId>org.ajar</groupId>
<artifactId>swagger-spring-mvc-ui</artifactId>
<version>0.4</version>
</dependency>
微开
我也有同样的问题,但这个链接对我很有用:
它使用以下内容预先填充swagger ui资源url框:
${pageContext.request.contextPath}/api文档
当我手动编辑它时,删除${pageContext.request.contextPath}并点击Explore,它会显示我的api文档,我甚至可以成功地尝试我的端点。因此,这肯定是一个问题,但可能不会涉及${pageContext.request/contextPath}
查看javascript的源代码:
url:window.location.origin+“${pageContext.request.contextPath}/api文档”
在静态招摇过市ui html中,我将此部分编码为:
发现URL:“./resource list.json”
我希望这有点帮助我的Swigger ui v0.4(带有spring v4.14和Swigger springmvc v0.9.4)运行良好,尽管我最初遇到了一些类似的问题。看来这门课就成功了
@Configuration
@EnableSwagger
public class SwaggerConfig extends WebMvcConfigurerAdapter {
@Autowired
private SpringSwaggerConfig springSwaggerConfig;
@Bean
public SwaggerSpringMvcPlugin customImplementation() {
return new SwaggerSpringMvcPlugin(springSwaggerConfig).apiInfo(
apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfo(/* strings */);
}
@Override
public void configureDefaultServletHandling(
DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
我相信相关的是被覆盖的configureDefaultServletHandling
。在我的主WebApplicationInitializer
上,我有:
@Import(SwaggerConfig.class)
最后,我修复了UI的位置框显示“${pageContext.request.contextPath}/api文档”的问题,方法是将其包含在依赖项中:
<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>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<!--<version>8.0.15</version>-->
<scope>provided</scope>
</dependency>
org.apache.tomcat.embed
汤姆卡特·贾斯珀
假如
它提供了与JSP处理相关的内容。它包含在spring boot
的依赖项中,但通常不提供
希望能有所帮助。您的问题在于您的swagger配置文件。您需要取出@EnableWebMvc
,因为这会导致默认的Spring引导视图解析器被默认的“SpringWebMvc”解析器覆盖,后者以不同的方式提供静态内容
默认情况下,Spring Boot将提供来自以下任何目录的静态内容:
- /META-INF/资源/
- /资源/
- /静止的/
- /公开的/
包括webjar
我也有同样的问题,我在文档中发现:
如果您想完全控制SpringMVC,可以添加自己的@配置
,并用@EnableWebMvc
注释。如果您想保留Spring Boot MVC功能,并且只想添加额外的MVC配置(拦截器、格式化程序、视图控制器等),您可以添加自己的@Bean
,类型为WebMVCConfigureAdapter
,但不添加
我希望这会有所帮助。我建议您使用@EnableSwagger2标记,并遵循以下步骤和代码:
此外,我使用的依赖关系如下,效果非常好:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
<scope>compile</scope>
</dependency>
伊奥·斯普林福克斯
springfox招摇过市用户界面
2.2.2
编译
伊奥·斯普林福克斯
springfox-Swagger 2
2.2.2
编译
我为Swagger做了单独的配置,我的问题是没有@EnableAutoConfiguration
它就不能正常工作
@Configuration
@EnableSwagger2
@EnableAutoConfiguration
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
如果您在springfox swagger ui 3.x或更高版本中遇到此问题
请尝试下面的url。。这对我很管用
/
有关完整的招摇过市记录步骤,请参阅:
正如上面Tamas所指出的,问题在于使用@EnableWebMvc,它绕过了默认设置,跳过了Swagger需要的一些东西。对我来说,将其切换到@EnableSwagger2足以解决我的项目中出现的问题,这些问题显示出类似的症状。你尝试过了吗?@Ron现在刚尝试过,但不起作用。只需按照这里写的内容进行操作——如果你在这里没有得到答复,我建议在该存储库中打开一个问题。Adrian的响应速度非常快,Spring Boot无法正确呈现JSP。请参阅链接到外部资源是可以的,但链接可能会随着时间的推移而发生显著变化或完全中断。请在您的答案中包含足够的信息,以便在不依赖外部信息的情况下实现解决方案。详细答案如下:它也在帮助2019年的人们:)我没有`@EnableWebMvc`但仍然面临空页问题。SwaggerConfiguration
文件在哪里?apinfo的jar文件在哪里以上代码?@Chandraspringfox core