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 值:CoolThingy
、AwesomeThingy
和 MLGThingy
我们能否在 MSON 中表示此资源,以便...
- Apiary(或其他呈现的)API 文档消费者可以轻松知道期望的
model
值是什么?
- Dredd 进程和 passes/fails 对此资源的 GET 响应中的
model
值?
在 MSON 中,您可以使用枚举,请参见下面的示例。
name
(枚举[字符串])
joe
(默认)
ben
mark
考虑摘录自 https://github.com/apiaryio/mson#example-1 ...
示例 1
一个简单的 object
结构及其关联的 JSON 表达式。
- 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 值:CoolThingy
、AwesomeThingy
和 MLGThingy
我们能否在 MSON 中表示此资源,以便...
- Apiary(或其他呈现的)API 文档消费者可以轻松知道期望的
model
值是什么? - Dredd 进程和 passes/fails 对此资源的 GET 响应中的
model
值?
在 MSON 中,您可以使用枚举,请参见下面的示例。
name
(枚举[字符串])joe
(默认)ben
mark