如何在OAS3中记录计算的默认值 [英] How to note a calculated default value in OAS3
本文介绍了如何在OAS3中记录计算的默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在更新我的API规范(OAS 3.0.0),并且无法理解如何正确地对"复杂"默认值建模。
一般情况下,参数的默认值为标量值(即offset
字段的默认值为0
)。但在我正在规范的API中,默认值实际上是根据其他提供的参数计算的。
例如,如果我们从示例文档中获取Pet model,并决定所有动物都需要标记,会怎么样。如果API的用户想要提供标记,那就太好了。如果不是,它将等于该名称。
一种可能性:
Pet:
required:
- id
- name
properties:
id:
type: integer
format: int64
name:
type: string
tag:
type: string
default: '#/components/schemas/Pet/name'
这会将路径值存储为默认值,但我想让它说明将计算默认值。
如果我可以对父架构中的信息进行编码,则会获得加分。
是否可以仅在描述字段中描述行为?
推荐答案
OpenAPI规范does notsupport动态/条件默认。您只能在description
中口头记录行为。
也就是说,您可以使用规范扩展(x-...
)向您的定义添加自定义信息,如下所示:
tag:
type: string
x-default: name
或
tag:
type: string
x-default:
propertyName: name
# or similar
并扩展工具以支持您的自定义扩展。
这篇关于如何在OAS3中记录计算的默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文