如何在OAS3中记录计算的默认值 [英] How to note a calculated default value in OAS3

查看:18
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆