问题标签 [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.
validation - API 蓝图 MSON 来定义有效的属性值?
考虑以下摘录自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 测试的上下文。我们可能需要定义什么是预期/有效值name
以响应获取此资源,否则可能会损坏某些东西并且此测试步骤应该失败。
和/或,如果创建/更新这种类型的资源,我们可能需要定义哪些name
值是有效/接受的。这目前可以在 MSON 中定义吗?
(我相信这可以在 JSON 模式中完成,这让我对 MSON 支持充满希望。)
以下是一个示例 API 蓝图资源,用于说明如何使用它...
model
在上面的示例中,属性有 3 个已知/接受/有效值: CoolThingy
、AwesomeThingy
和MLGThingy
我们可以在 MSON 中表示这个资源,这样......
- Apiary(或其他渲染的)API 文档消费者可以很容易地知道
model
期望什么值? - Dredd 处理并传递/失败
model
响应 GET 到此资源的值?
apiblueprint - 省略 MSON 中定义的对象的属性
如何从定义的 MSON 中省略属性?我使用 MSON 定义了一个简单的实体(对象):
我Article
在几个 api 端点中使用对象。问题是我不想id
在发布新文章时被指定,所以我想在POST
方法文档中省略它。是否可以在所有端点中包含Article
实体并说明我想省略哪些字段?
apiblueprint - 混合 API 蓝图/MSON 属性
我正在尝试创建一个数据结构对象。它的属性之一有两个可能的值,但它们是混合类型。有时,它可能是一个数字,但有时它可能是一个字符串数组。
我认为可能需要某种 enum[string array[string]] 但我似乎无法使其工作。提前致谢。
apiblueprint - API 蓝图 - 使用数据结构作为响应,没有属性
我正在使用 Apiary 来模拟一个新的 API。
我试图避免一遍又一遍地写出所有 JSON 响应。如果我使用 a + Attributes(user)
then 执行此操作,它将在机器面板中自动生成一堆属性块,这在我看来非常令人困惑(尤其是当您有多个响应时)。
如果您手动写出 JSON 请求/响应块,生成的文档看起来会更好。
有没有办法将请求/响应对象存储为数据结构?也许是一个模型?
我希望能够做这样的事情:
注意:该user
对象在现实生活中有 30 个属性长。
apiblueprint - API 蓝图 - 避免重复授权块
在 API Blueprint 中,如何避免对每个端点反复使用相同的请求授权标头块?
有没有办法在数据结构中对此进行模板化?
mson - 只能包含 MSON 中给定类型的数组
如何在 MSON 中指定数组应仅包含类型 A、B 或 C,而不包含任何其他类型?
我试过了
但是 aglio 生成的 JSON 模式只要求数组的第一个元素是 A 类型。
markdown - 如何扩展而不是替换父参数?
我有一个带有多个参数的资源,以及一个带有额外参数的单个操作。我怎样才能用最少的重复来写这个?
像这样的东西,但实际上有效:
所有其他操作都应该列出type
,而 GET 应该同时列出type
和page
。
markdown - 如何覆盖 MSON 示例值
如果我使用示例值定义资源类型,如何针对特定示例覆盖它们?
我试过了,但是渲染的输出忽略了 Body 并使用了全局 Sample 。
奇怪的是,如果您从模式中删除示例值,它会正确使用 Body 作为 Request 但对于 Response 它的每个字符串参数为"Hello, world!"
,每个数字为1
,等等。
apiblueprint - 在数据密钥 API Blueprint / Apiary 中包装数据结构
所以假设我有一个200
响应应该是哪个身体:
我已经设法通过在 API Blueprint 中使用它来获得响应主体的这种行为。
(请注意,我不能将数据键添加到数据结构本身,因为它只存在于单个响应中。如果我需要将 Activity 嵌套在另一个结构中,它不应该有数据键。)
这似乎不对
我认为这不是正确的做法的原因是因为此响应的 JSON 模式是:
请注意如何排除实际活动。
如何正确地将我的响应包装在数据键中,并将其反映在正文和架构中?
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源代码