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

如何公开其他模型:从Springfox迁移到Springdoc

蒯胜泫
2023-03-14

我需要公开一些在REST API方法中不直接使用的模型。

对于springfox,我使用Docket的additionalModels方法以编程方式将模型添加到规范中:

docket.additionalModels(
  typeResolver.resolve(XModel1.class),
  typeResolver.resolve(XModel2.class)
)

如何使用springdoc?

我已经创建了一个带有dummy参数的dummy操作,其中包括所有必需的模型。但我觉得这种方法还有改进的空间。

共有2个答案

卫皓
2023-03-14

在科特林

fun components(): Components {
    val components = Components()

    val converter = ModelConverters.getInstance()

    val schema1 = converter.readAllAsResolvedSchema(XModel1::class.java)
    val schema2 = converter.readAllAsResolvedSchema(XModel2::class.java)

    schema1.referencedSchemas.forEach { s -> components.addSchemas(s.key, s.value) }
    schema2.referencedSchemas.forEach { s -> components.addSchemas(s.key, s.value) }

    return components
}

此外,您可能需要在application.yml中指定属性:

springdoc:
    remove-broken-reference-definitions: false
阎声
2023-03-14

使用OpenApiCustomiser,您可以访问OpenAPI对象。您可以添加任何想要的对象/操作,而无需在代码上添加注释。

您可以查看文档以了解更多详细信息:

  • https://springdoc.github.io/springdoc-openapi-demos/faq.html#how-can-i-customize-the-openapi-object-
 类似资料:
  • 我试着遵循以下几点: https://www.dariawan.com/tutorials/spring/documenting-spring-boot-rest-api-springdoc-openapi-3/ 如何处理注释,如:

  • Postgres 9.1数据库包含表yksus1。。公共模式中的ykssu9。pgAdmin在下面的代码中显示了这些定义。如何将这些表移动到firma1模式? firma1模式中的其他表具有对这些表的外键引用。对这些表的外键引用仅来自firma1模式中的表。 其中一些表包含数据。如果表移动到firma1模式,外键引用也应更新到firma1。YKSUS表格。无法更改表结构。 看起来主键序列已经在fi

  • 问题内容: 我目前正在使用Dep,并且想开始使用Go模块。 我该如何迁移? 问题答案: 从Dep迁移到Go Modules非常容易。 运行并确保您使用的是Go 1.11版或更高版本。 将代码移到GOPATH或set之外。 :这将从Gopkg.lock导入依赖项。 :这将删除不必要的导入,并添加间接导入。 (可选)删除您的供应商文件夹(或移至回收站) :进行测试构建以查看其是否有效。 :删除用于De

  • 你决定要把你的整个项目从原来的代码管理工具迁移到Git, 要怎么做才比较简单呢? 从Subversion导入 Git包含了一个名为git-svn的脚本, 它有一个克隆(clone)命令, 可以把一个Subversion仓库导入到一个新的Git仓库. GitHub上也有完成同样工作的免费工具. $ git-svn clone http://my-project.googlecode.com/svn/

  • 问题内容: 我很了解Java。哪些警告和资源将帮助我尽可能轻松地跨过另一端(C#)。 问题答案: 最大提示:请使用go一词中的.NET命名约定。这样,您将不断被提示使用的是哪种语言。(听起来很愚蠢,但这确实有帮助。)尽可能多地接受该语言的习惯用法。 有许多专门针对您所处地区的人们的书籍-在亚马逊上搜索“ C#for Java”,您将获得很多成功。值得 仔细 阅读以确保您不认为C#和Java中的功能

  • 如果你现在有一个正在使用其他 VCS 的代码库,但是你已经决定开始使用 Git,必须通过某种方式将你的项目迁移至 Git。 这一部分会介绍一些通用系统的导入器,然后演示如何开发你自己定制的导入器。 你将会学习如何从几个大型专业应用的 SCM 系统中导入数据,不仅因为它们是大多数想要转换的用户正在使用的系统,也因为获取针对它们的高质量工具很容易。 Subversion 如果你阅读过前面关于 git