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的主要内容,如果未能解决你的问题,请参考以下文章

swagger-ui不显示问题定位

Swagger在1.5.13下不显示接口的问题(已解决)

Swashbuckle.AspNet.Core:Swagger UI 显示空白页面 - 如何修复?

Swagger UI 未在 index.html 页面上显示任何内容

如何快速将 swagger 导出 PDF、markdown

django drf_yasg 非restful风格的api怎么在swagger上展示?