当前位置: 首页 > 知识库问答 >
问题:

如何在SpringDoc中使用GroupedOpenAPI时排除路径

李兴为
2023-03-14

我最近把SpringFox换成了SpringDoc。

以前,我可以排除用于Swagger UI的路径,如下所示:

new Docket(DocumentationType.SWAGGER_2).paths(Predicates.not(PathSelectors.regex("/path1/.*|/path2/.*|/path4/.*")))

在上述情况下,将为path3和path5显示Swagger UI。

在使用SpringDoc时使用GroupedOpenAPI,我只看到了一种显式设置应该允许哪些路径的方法,例如。

GroupedOpenApi.builder()
            .pathsToMatch("/path3/**", "/path5/**")

我希望有一种更通用的方法,通过这种方法,我可以指定哪些路径不允许,因此,如果我添加更多的路径,它们将在默认情况下被允许。比如:

GroupedOpenApi.builder()
            .pathsToMatch("!/path1/**", "!/path2/**", "!/path4/**")

不确定是否有任何这样的功能支持。任何帮助都将不胜感激。谢谢你。

共有1个答案

彭朝
2023-03-14

您可以使用以下属性来排除路径(v1.2.32测试过)

springdoc.paths-to-exclude= /test

或:

GroupedOpenApi.builder()
            .pathsToExclude("!/path1/**", "!/path2/**", "!/path4/**")
 类似资料:
  • 我的应用程序是spingmvc而不是boot。 我正在使用springdoc openapi ui 1.4.4 另外,我在@configuration类中添加了以下导入:; 并实现如下所示的bean 但是当我尝试 给我404。 但是我得到了 它也进来 也没有定义下拉列表。 如果我加上 申请。然后我得到 我做错了什么? 我需要导入任何其他类来获得组功能工作吗? 谢啦

  • 我正在使用版本为(1.2.32)的SpringDocOpenAPI。现在,我想在UI中按HTTP方法(反向顺序)对endpoint进行排序,并且我没有在endpoint方法上使用任何标记。 如果我有4个endpoint发布,获取,放置,删除,然后我想显示方法放置,发布,获取,删除 我尝试了以下方法,但似乎不起作用: springdoc.swagger-ui.operations排序器=(方法和al

  • 当使用定义API组时,参数列表中不存在添加到每个endpoint的公共参数集。下面是各自的代码 以及将标准头添加到所有endpoint的类 实际产量 预期产量 复制问题,克隆https://github.com/debargharoy/springdoc-test 变通办法 添加应用程序属性文件中要包含/排除的路径可以解决这个错误。但是代码级别的东西会很受欢迎。

  • 我正在为rest控制器编写junits。我只希望加载与控制器相关的最小上下文,我认为这就是加载上下文的方式。但是junit正在加载完整的Spring上下文,它失败了,因为一些bean无法创建。 我已经搜索并阅读了许多关于stackoverflow的问题,没有一个解决方案能够排除特定的配置。在为控制器编写junits时,如何加载最小的上下文?或者有没有办法排除一些配置类?我使用的是Spring bo

  • 我试图在OpenAPI 3.0规范中创建一个响应链接。更具体地说,我想提供我的一个响应和其他可用操作之间的已知关系(参见。链接对象)。 在我的SpringBoot项目中,我使用Springdoc(版本:1.3.9)生成API文档。根据@ApiResponse#links文档,我已尝试使用以下endpoint代码实现我的目标: 不幸的是,我看不到任何结果在招摇过市的用户界面,但“没有链接”的描述。