scala - Openapi swagger 文档生成引用
问题描述
我在带注释的对象中有几个枚举,例如:
@Schema(description = "Request description")
case class Request(
@Schema(description = "Enum1 description")
field2: Enum1,
@Schema(description = "Enum2 description")
field2: Enum2
)
其中枚举定义为:
sealed trait Enum1 extends EnumEntry
object Enum1 extends Enum[Enum1] {
case object Value1 extends Enum1
case object Value2 extends Enum1
}
sealed trait Enum2 extends EnumEntry
object Enum2 extends Enum[Enum2] {
case object Value3 extends Enum2
case object Value4 extends Enum2
}
使用 Openapi3,我可以生成一个招摇的文档。我的问题是说Enum1
和Enum2
翻译不同,如:
"field1":{
"enum":["Value1","Value2"],
"type":"string"
},
"field2":{
"$ref":"#/components/schemas/Enum2"
}
/* ... */
"Enum2":{
"description":"Enum2 description",
"type":"object"
}
我希望Enum2
记录与 相同的文档Enum1
,因此使用实际的枚举值。有什么办法可以强制这样做,或者有什么解释为什么会发生这种情况?两个枚举与示例中的基本相同。
解决方案
推荐阅读
- php - 我如何用 laravel eloquent 编写这个查询
- filter - ODOO 10 如何根据发货作业线过滤发货订单?
- javascript - 将 ASP.NET MVC Web 应用程序从 http 转换为 https
- python - 如何拆分字符串并指定为熊猫数据框的列名?
- python - 是否可以对 python2 和 python3 使用相同的 pipenv?
- prestashop - Prestashop 管理面板访问问题
- jquery - 使用引导程序自定义上下文菜单位置
- mysql - Siteground 托管到 AWS RDS 连接花费了太多时间
- typescript - Typescript:可以使用枚举作为函数参数类型吗?
- java - 无法使用 selenium 在离子输入中找到 textarea 元素