swagger 页面怎么不显示basic-error-controler
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swagger 页面怎么不显示basic-error-controler相关的知识,希望对你有一定的参考价值。
参考技术A 在配置中加入.paths(Predicates.not(PathSelectors.regex("/error.*")))@Configuration
@EnableSwagger2
public class SwaggerConfig
@Bean
public Docket api()
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(Predicates.not(PathSelectors.regex("/error.*")))
.build()
.apiInfo(apiInfo());
private ApiInfo apiInfo()
return new ApiInfoBuilder()
.title("标题")
.description("描述")
.version("1.0.0")
.termsOfServiceUrl("/")
.license("License")
.licenseUrl("/")
.build();
参考技术B springfox的大致原理就是,在项目启动的过种中,spring上下文在初始化的过程,框架自动跟据配置加载一些swagger相关的bean到当前的上下文中,并自动扫描系统中可能需要生成api文档那些类,并生成相应的信息缓存起来。如果项目MVC控制层用的是springMvc那么会自动扫描所有Controller类,跟据这些Controller类中的方法生成相应的api文档。
swagger-ui不显示问题定位
1. 现象1
正常情况是 group会显示default/v2/api-docs
不知道是什么原因, 一个app可以展示,但另一个app不展示,配置也基本相同
1.1 定位过程
正常的app访问时的结果:
异常app访问的结果:
原因:
因为自定义了application/json响应结果的统一封装,导致swagger的响应被修改了
页面显示时会调用3个ajax请求, 结果必须满足swagger自己的格式
1.2 修改方案:
结果封装部分要跳过swagger的请求
2.现象2
no mapping for swagger-ui.html
2.1解决方案:
注意spring mvc的配置, spring.mvc.static-path-pattern 使用默认值
以上是关于swagger 页面怎么不显示basic-error-controler的主要内容,如果未能解决你的问题,请参考以下文章
Swashbuckle.AspNet.Core:Swagger UI 显示空白页面 - 如何修复?