是否可以在 API 蓝图中定义固定的数组长度?

Is it possible to define a fixed array length in API Blueprint?

我正在 API 蓝图中编写 API 规范,我想将 location 属性定义为长度为 2 的固定数组,如下所示:

我把它写成一个数字数组,比如:

+ location (array[number], required)

这是 Apiary 中的结果:

我认为这是可能的,因为图像中的那个零,但我不知道如何。我已经通过文档进行了搜索,但没有找到任何东西......关于如何做的任何想法?谢谢。

有可能,您可以在数组中使用 fixed 类型属性,这意味着值沿着数组的长度固定。

在您的情况下,您不希望固定值,因为您希望任何数字都可以在数组中。为此,您需要将值移动到样本中。这是一个例子:

+ Response 200 (application/json)
    + Attributes
        + location (array, fixed)
            + `43.3` (number, sample)
            + `-8.41` (number, sample)

不幸的是,API 蓝图解析器中存在一些当前错误,因此无法按预期工作。它会产生不正确的 JSON 架构和示例 JSON 正文,后者由 https://github.com/apiaryio/drafter/issues/519 跟踪,我相信很快就会解决。

由于这些限制,您最好在位置 属性:

的描述中解释这一点
+ Response 200 (application/json)
    + Attributes
        + location (array) - Location MUST contain exactly two numbers.
            + `43.3` (number)
            + `-8.41` (number)

将呈现如下: