API 蓝图 MSON 定义有效的属性值?

API blueprint MSON to define valid Attribute values?

考虑摘录自 https://github.com/apiaryio/mson#example-1 ...

示例 1

一个简单的 object 结构及其关联的 JSON 表达式。

MSON

- id: 1 - name: A green door - price: 12.50 - tags: home, green


假设我想为 name 属性定义 有效值 。考虑使用 Dredd 等工具进行 API 测试的上下文。我们可能需要定义什么是 expected/valid name 值以响应 GET'ing 这个资源,否则某些东西可能被破坏并且这个测试步骤应该失败。

And/or,如果creating/updating这种类型的资源,我们可能需要定义什么name值是valid/accepted。目前可以在 MSON 中定义吗?
(我相信 可以 在 JSON 架构中完成,这让我对 MSON 支持充满希望。)

以下是一个示例API蓝图资源来说明如何使用它...

# Thing ID [/api/thing/id]

# List Thing ID attributes [GET]

    + Response 200

    + Attributes
        + href (string)
        + make (string)
        + model (string)
        + version (string)

    + Body

            {"href":"/api/thing/id","make":"BrandX","model":"SuperThingy","version":"10.1"}

在上面的示例中,model 属性有 3 个 known/accepted/valid 值:CoolThingyAwesomeThingyMLGThingy

我们能否在 MSON 中表示此资源,以便...

在 MSON 中,您可以使用枚举,请参见下面的示例。

  • name(枚举[字符串])
    • joe(默认)
    • ben
    • mark