我正在使用
SpringDoc 1.4.3
来招摇。 petstore
中的
application.yml
URL
配置
springdoc:
swagger-ui:
disable-swagger-default-url: true
tags-sorter: alpha
operations-sorter: alpha
doc-expansion: none
但是当我在浏览文本框中点击 https://petstore.swagger.io/v2/swagger.json 时,它仍然向我显示 petsore URL,如下图所示。
招摇图片
由于以下功能支持,已经经过测试和验证:
只需使用以下属性:
springdoc.swagger-ui.disable-swagger-default-url=true
如果建议的属性设置不起作用,请清除浏览器缓存并重新加载 URL。属性设置确实有效。浪费了2个小时才弄清楚。
springdoc:
swagger-ui:
disable-swagger-default-url: true
就我而言,我有一个错误定义的 servlet 过滤器 - 我缺少一个“return;”陈述。这导致过滤器链无法正确处理,并且一些 Swagger 请求被中断。
检查您是否有以下情况:
@Component
public class MyFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
if (some condition) {
chain.doFilter(request, response);
return; /**** Don't forget this line! ****/
}
... more logic ...
chain.doFilter(request, response);
}
}
我解决这个问题的唯一方法是添加一个 SwaggerConfig 页面 [教程在这里] 并更改为 OAS_3 并保存,然后您可以将其更改为其他内容。
return new Docket(DocumentationType.OAS_30)
Swagger 似乎保留了缓存或其他东西,但保存配置的 OAS_3 似乎让 Swagger 知道停止使用默认值。
设置以下属性,这将禁用 Swagger OpenApi 3 UI 模块
springdoc.api-docs.enabled=false