petstore URL 未在 SpringDoc OpenAPI 中禁用

petstore URL not disabled in SpringDoc OpenAPi

我正在使用 SpringDoc 1.4.3 招摇。
我添加了以下配置以禁用 application.yml

中的 petstore 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 URLs。

招摇图片

由于以下功能支持,已经过测试和验证:

随便用,下面属性:

springdoc.swagger-ui.disable-swagger-default-url=true

我解决这个问题的唯一方法是添加一个 SwaggerConfig 页面 [tutorial here] 并更改为 OAS_3 并保存,然后您可以将其更改为其他内容。

return new Docket(DocumentationType.OAS_30)

似乎 Swagger 正在保留缓存或其他东西,但保存配置的 OAS_3 似乎让 Swagger 知道停止使用默认值。

在 属性 下方设置,这将禁用 Swagger OpenApi 3 UI 模块

springdoc.api-docs.enabled=false

如果建议的 属性 设置不起作用,请清除浏览器缓存并重新加载 URL。 属性 设置有效。浪费了2个小时才弄明白。

springdoc:
  swagger-ui:
    disable-swagger-default-url: true

在我的例子中,我有一个 incorrectly-defined 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);
    }
}