问题标签 [raml]
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.
arrays - 如何在 Raml 的外部文件中定义一个类型的数组?
如果我有一个定义 Datatype 的文件SimpleDuple
,并且在另一个定义另一个名为的数据类型的文件中,DiscreetFilter
我希望有一个属性是我将如何使用 includevalues
的数组?SimpleDuple
考虑 SimpleDuple 的文件:
而我想要创建属性的另一个定义是属性中的 SimpleDuples 数组values
(但我必须使用内联定义)。
如果这两种类型在同一个文件中,我会将values
属性设置为 SimpleDuple[]
. 如果它不是一个数组,我会将包含作为values
属性的值。
但是如何同时使用包含和数组,而不是使用我在复制代码中使用的内联定义?
mule - 在 cloudhub 中加载 RAML 需要很长时间
我创建了一个 mule 应用程序并能够在我的本地计算机上成功运行/部署它。当我将端口更改为 Private 并部署到 cloudHub 时,RAML 的控制台未加载完成。
同样的问题也发布在下面的链接中。
有人可以帮我吗。
api - RAML 中每个 API 调用的带有查询参数的 API 描述
我必须用 RAML 描述一个旧的 API,而且我在语法上苦苦挣扎。由于时间问题,我们必须保留旧的 API 调用。
我试图描述以下调用:
?Call=GetData&suuid=1234567
?Call=AddNewData&dataid=12345suuid=1234567
?Call=DeleteData&dataid=12345suuid=1234567
RAML有可能吗?
提前谢谢!
java - 如何在 RAML 1.0 中覆盖对象数组属性类型
我有一个像这样的通用 Java 类型:
并希望创建与 RAML 1.0 类似的东西(我是新手)。
我的第一种方法是
以及使用时
从 API-Workbench 我总是得到“从响应继承的属性数据的非法覆盖”。
另一个想法是使用repeat
:
和分别
现在非法覆盖消失了,但在 API 控制台中,我现在得到一个“未捕获的类型错误”。
如何解决?还是我需要一种完全不同的方法?任何想法?
java - Java RAML 解析器:java.lang.NoSuchFieldError:值
这与此处的错误相同:Getting java.lang.NoSuchFieldError: VALUE in RamlValidationService
但是,在那种情况下,问题不在于将 Maven 用于 deps,但我正在这样做。
我的简单 RAML 文件:
我的简单 Java 用法:
我的简单 pom.xml:
这是有趣的错误:
编辑 1:如果我直接使用 SnakeYAML,一切都很好。
api - RAML 中的 POST 参数支持
我想问一下RAML中是否支持 POST 参数。如果有 - 语法是什么。我大致浏览了 spec 0.8和 spec 1.0(实际上我一定会0.8
,因为许多工具还不支持1.0
)。我没有找到 POST 参数支持,但也许我只是错过了一些东西。
那么我所说的 POST 参数是什么意思呢?这些可以是两者中的任何一个(对不起,我不知道他们的正式名称,如果有的话):
HTTP明文参数,,,每个
key=value
参数一行,如name=John Doe amount=5
这不是很方便(例如没有嵌套)参数作为 JSON 对象,只是一个允许其所有语法的 JSON(服务器端需要解析这个 json);如:
{"name":"John Doe","amount":"5"}
不同的服务器端 API 实现使用第一个或第二个。无论如何,RAML 如何支持这些?
api - 在许多文件中拆分 swagger 定义
问题:如何跨文件拆分 swagger 定义?该领域的可能性是什么?问题详情描述如下:
我想要的例子 - 在 RAML
我确实有 RAML 方面的经验,我所做的是,例如:
最后两行在这里很重要!include <filepath>
- 在 RAML 中,我可以将整个合同拆分为许多文件,这些文件只是被 RAML 解析器动态包含(并且所有基于 RAML 的工具都使用 RAML 解析器)。
我从中得到的好处是:
- 我的合同更清晰,更容易维护,因为模式不是内联的
- 但这真的很重要:我可以在其他工具中重用模式文件来进行验证、模拟生成、存根、生成测试等。换句话说,通过这种方式,我可以在合同(RAML,本例)和其他工具(非 RAML,非 swagger,仅基于 JSONschema 的工具)中重用模式文件。
回到大摇大摆
据我所知,swagger 支持$ref
允许加载外部文件的关键字。但是这些文件是通过 HTTP/AJAX 获取的,还是只是本地文件?
是整个规范都支持它,还是只是一些支持它而一些不支持它的工具?
我在这里发现的是,swagger 的输入必须是一个文件。这对于大型项目来说非常不方便:
- 因为尺寸
- 并且因为如果我想使用非招摇的东西,我就不能重用模式
或者,换句话说,我可以用 swagger 实现与 RAML 相同的效果吗 - 在拆分文件方面?
regex - RAML 1.0,映射类型复杂的正则表达式
在我的 api 中,我有一个包含uuid->Drive
. 我使用了 Map 类型 [1] 来定义:
那项工作,但我想在模式上更精确。但是我无法让它工作。
["(a-zA-Z0-9){8}-(a-zA-Z0-9){4}-(a-zA-Z0-9){4}-(a-zA-Z0-9){4}-(a-zA-Z0-9){12}"]:
似乎不用作正则表达式。[(a-zA-Z0-9){8}-(a-zA-Z0-9){4}-(a-zA-Z0-9){4}-(a-zA-Z0-9){4}-(a-zA-Z0-9){12}]:
在流集合条目之间说Missed comma
如何在带有 RAML 1.0 的 Map 类型中使用复杂的表达式?
(我正在使用 API 工作台)
api - 是否可以在 RAML 文件中添加重定向链接,例如添加到另一个 API 版本?
如题,我有两个 RAML 文件,一个与 v1 API 版本相关,第二个属于 v2 API 版本。我的问题是,如果我将我的根 URL 与 API 文档一起传递给某人,我不确定当有人进入 API v1 页面时他将能够获取一些信息(“这是旧的 api 版本,请转到 API v2: 链接") 并将链接重定向到 API v2?
有什么方法可以将此重定向链接放入 v1 RAML 文件中?
感谢您的任何回复