java - 如何在 sprinddoc 中添加一个操作未引用的类?

标签 java spring-boot openapi springdoc

我正在使用 springdocspring-boot主要用注解配置。

我想公开一个未被任何服务引用的特定类模式。可以这样做吗?

在伪代码中,我实际上是在尝试这样做:

GroupedOpenAPI.parseAndAddClass(Class<?> clazz);

GroupedOpenAPI.scan("my.models.package");

=== 更新 ===

我设法使用 ModelConverters.getInstance().readAll(MyClass.class); 解析架构

然后尝试将其添加为 OpenApiCustomiser ,但它在 UI 中仍然不可见。

最佳答案

在 SpringDoc 中,可以使用 OpenApiCustomiser

将不相关的类添加到生成的规范中
@Bean
public OpenApiCustomiser schemaCustomiser() {
    ResolvedSchema resolvedSchema = ModelConverters.getInstance()
            .resolveAsResolvedSchema(new AnnotatedType(MyClass.class));
    return openApi -> openApi
            .schema(resolvedSchema.schema.getName(), resolvedSchema.schema);
}

但需要小心,因为如果您的附加模型没有在任何 API 中引用,默认情况下 SpringDoc 会自动删除每个损坏的引用定义。

要禁用此默认行为,您需要使用以下配置属性:

springdoc.remove-broken-reference-definitions=false

关于java - 如何在 sprinddoc 中添加一个操作未引用的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67522333/

相关文章:

java - 在 LinkedList 中按索引删除

Java 绘图生成器

Kubernetes CRDs - 引用现有的验证规范

java - 在对象: Vector2f or 2 floats中经常使用哪个更好

java - Spring Security OAuth2服务器端,如何在所有请求上要求client_id和client_secret

java - Spring 启动: access rest api from @Scheduled method

openapi - 有没有办法在 OpenAPI 3.0 中描述两种不同的响应类型?

swagger - OpenAPI 规范 : default value of query param is ignored

java - Spring Boot 获取惰性 - 无法写入 JSON : could not initialize proxy - no Session

java - 一个 @Async 方法中使用的线程池与其他异步方法执行共享