我正在使用 springdoc
与 spring-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/