如何使用Open API描述计数受限的CSV序列化的多选字段?

时间:2019-06-18 16:12:51

标签: openapi

使用OpenAPI规范,我想在数据模型中指定一个字段,并传达以下要求:

  1. 应将其序列化为CSV字符串。
  2. 它应仅包含来自枚举的值。
  3. 它应包含与指定数量相同或更少的项目。

此架构最终会导致应用程序的用户界面中出现一个下拉列表。

我们可以很容易地交流#1和#2,但我不确定交流#3的惯用方式。我当前的解决方案滥用maxItems属性来做到这一点:

{
    enum: ["beagle", "collie", "pitbull"],
    format: "csv",
    maxItems: 2,
    type: "string"
 }

下一个最佳选择似乎是用来描述CSV字符串的pattern属性,但这似乎是呈现UI的非显而易见的提示。由于format是开放式的,最好使用像format这样的自定义csv(2)来传达所需的商品数吗?

不幸的是,我无法更改API的数据模型以接受string数组(而不是序列化为CSV的字符串),这是最理想的解决方案。

使用OpenAPI描述此类字段的最佳方法是什么?

0 个答案:

没有答案