0

考虑以下摘录自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 测试的上下文。我们可能需要定义什么是预期/有效值name以响应获取此资源,否则可能会损坏某些东西并且此测试步骤应该失败。

和/或,如果创建/更新这种类型的资源,我们可能需要定义哪些name值是有效/接受的。这目前可以在 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 个已知/接受/有效值: CoolThingyAwesomeThingyMLGThingy

我们可以在 MSON 中表示这个资源,这样......

  • Apiary(或其他渲染的)API 文档消费者可以很容易地知道model期望什么值?
  • Dredd 处理并传递/失败model响应 GET 到此资源的值?
4

1 回答 1

2

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

  • name(枚举[字符串])
    • joe(默认)
    • ben
    • mark
于 2016-03-31T22:18:14.337 回答