问题标签 [mson]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
531 浏览

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

考虑以下摘录自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 蓝图资源,用于说明如何使用它...

model在上面的示例中,属性有 3 个已知/接受/有效值: CoolThingyAwesomeThingyMLGThingy

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

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

apiblueprint - 省略 MSON 中定义的对象的属性

如何从定义的 MSON 中省略属性?我使用 MSON 定义了一个简单的实体(对象):

Article在几个 api 端点中使用对象。问题是我不想id在发布新文章时被指定,所以我想在POST方法文档中省略它。是否可以在所有端点中包含Article实体并说明我想省略哪些字段?

0 投票
1 回答
249 浏览

apiblueprint - 混合 API 蓝图/MSON 属性

我正在尝试创建一个数据结构对象。它的属性之一有两个可能的值,但它们是混合类型。有时,它可能是一个数字,但有时它可能是一个字符串数组。

我认为可能需要某种 enum[string array[string]] 但我似乎无法使其工作。提前致谢。

0 投票
1 回答
165 浏览

apiblueprint - API 蓝图 - 使用数据结构作为响应,没有属性

我正在使用 Apiary 来模拟一个新的 API。

我试图避免一遍又一遍地写出所有 JSON 响应。如果我使用 a + Attributes(user)then 执行此操作,它将在机器面板中自动生成一堆属性块,这在我看来非常令人困惑(尤其是当您有多个响应时)。

如果您手动写出 JSON 请求/响应块,生成的文档看起来会更好。

有没有办法将请求/响应对象存储为数据结构?也许是一个模型?

我希望能够做这样的事情:

注意:该user对象在现实生活中有 30 个属性长。

0 投票
2 回答
759 浏览

apiblueprint - API 蓝图 - 避免重复授权块

在 API Blueprint 中,如何避免对每个端点反复使用相同的请求授权标头块?

有没有办法在数据结构中对此进行模板化?

0 投票
1 回答
123 浏览

mson - 只能包含 MSON 中给定类型的数组

如何在 MSON 中指定数组应包含类型 A、B 或 C,而不包含任何其他类型?

我试过了

但是 aglio 生成的 JSON 模式只要求数组的第一个元素是 A 类型。

0 投票
0 回答
134 浏览

markdown - 如何扩展而不是替换父参数?

我有一个带有多个参数的资源,以及一个带有额外参数的单个操作。我怎样才能用最少的重复来写这个?

像这样的东西,但实际上有效:

所有其他操作都应该列出type,而 GET 应该同时列出typepage

0 投票
2 回答
657 浏览

markdown - 如何覆盖 MSON 示例值

如果我使用示例值定义资源类型,如何针对特定示例覆盖它们?

我试过了,但是渲染的输出忽略了 Body 并使用了全局 Sample 。

奇怪的是,如果您从模式中删除示例值,它会正确使用 Body 作为 Request 但对于 Response 它的每个字符串参数为"Hello, world!",每个数字为1,等等。

0 投票
1 回答
311 浏览

apiblueprint - 在数据密钥 API Blueprint / Apiary 中包装数据结构

所以假设我有一个200响应应该是哪个身体:

我已经设法通过在 API Blueprint 中使用它来获得响应主体的这种行为。

(请注意,我不能将数据键添加到数据结构本身,因为它只存在于单个响应中。如果我需要将 Activity 嵌套在另一个结构中,它不应该有数据键。)

这似乎不对

我认为这不是正确的做法的原因是因为此响应的 JSON 模式是:

请注意如何排除实际活动。

如何正确地将我的响应包装在数据键中,并将其反映在正文和架构中?

0 投票
1 回答
245 浏览

json - Api Blueprint MSON 中是否有类似 excel 表的 json 架构?

Api Blueprint MSON 中是否有任何 json 模式,例如 excel 表?

我正在几个客户之间设计一些api。所以我需要能够呈现为易于阅读的格式的 api 文档工具。我搜索这 3 个解决方案。(Swagger、RAML、Api 蓝图)。我决定使用 Api Blueprint 是因为它可以通过 markdown 呈现更丰富的形式。Api Blueprint 中的几乎所有功能都让我满意。但是 json 模式格式非常复杂且难以阅读。我希望我的结果 html 最终如下所示。(我使用 aglio 作为 Api Blueprint html 渲染器。)

这是我的apib源代码