如何从生成的 OpenAPI 文档中排除 Spring Data REST 控制器

M. *_*tin 6 java spring-data-rest spring-boot openapi springdoc

我正在处理一个 Spring Data MongoDB 项目,该项目通过 Spring Data REST 导出其端点。它使用springdoc-openapispringdoc-openapi-data-rest库的模块为项目中的 Spring Data REST 端点生成OpenAPI接口描述。

我有一个存储库端点,我想从生成的 OpenAPI 文档中排除该端点。

@Repository
public interface ExcludeMeRepository extends
        PagingAndSortingRepository<ExcludeMe, Integer> {}
Run Code Online (Sandbox Code Playgroud)

如果这是通过 包含的 Spring MVC 控制器springdoc-openapi-ui,我可以@Hidden在控制器上使用 Swagger Annotations 库中的注释。然而,这在课堂上似乎不起作用@Repository

@Hidden // Does not appear to have an effect
@Repository
public interface ExcludeMeRepository extends
        PagingAndSortingRepository<ExcludeMe, Integer> {}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一些方法,但还没有发现任何可行的方法,而且感觉不像是一种黑客解决方法。

如何从生成的 OpenAPI 文档中排除存储库?

M. *_*tin 7

@Hidden从 springdoc-openapi v2.0.0 版本开始,现在支持该注释。此更改是根据springdoc-openapi#1881添加的。

@Hidden // Works as of v2.0.0
@Repository
public interface ExcludeMeRepository extends
        PagingAndSortingRepository<ExcludeMe, Integer> {}
Run Code Online (Sandbox Code Playgroud)