问题标签 [raml-1.0]
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.
api-design - 在 RAML 中验证查询参数
我需要创建一个具有四个可能的 HTTP 查询参数的 API。参数一或参数二是必需的。其他是可选的。从 Github 上的官方RAML 版本 1.0 规范中,我在RAML queryString 示例中发现了一个几乎完全相同的场景。
我将它加载到 Mulesoft 设计中心进行测试。RAML 在设计中心没有产生任何错误,一切看起来都很好。根据 RAML 中的第一个示例,以下 URL 应该会产生成功(200 OK):
当我通过 Postman 发送它时,它会到达模拟服务,但我收到以下错误:
我不确定这是否是设计中心的限制,或者我的 URL 是否有问题。有谁知道我做错了什么?
这是官方规范中的 RAML 示例:
mule - 如何在 RAML 中设置多个示例请求及其响应
你能告诉我如何在 RAML 1.0 中设置,如果可能的话,多个请求及其响应作为示例。我在任何一点工作室 5 api 中都有,我想将它们合并为一个。我想合并所有 raml 文件,但不知道该怎么做。在每个 raml 中只有一个 post 方法,一个请求和一个响应。所以,如果我在 ARC 中发布一个请求,我希望得到适当的响应。
raml - RAML - 如何设计带有参数的端点?
我需要使用 RAML 设计此规范:
目标是在URI中传递orderId和itemId并获取数量。我是这样设计的:
以这种方式设计资源是最佳实践还是有更好的方法?
mulesoft - 使用 Raml 验证标头
我有三个标头 A、B、C,这里 A 始终是强制性的,并且 B 或 C 在请求中一次只能出现一个。
如何在 raml 1.0 中实现
mule - 使用命名空间定义数据类型
我正在尝试创建一个数据类型来表示以下有效负载,但努力让命名空间定义和前缀工作。任何帮助表示赞赏。
我希望用单独的 raml 文件创建它来表示不同的对象,即 DNR.raml 和 Results.raml 并!includes
在必要时使用
这是我到目前为止所拥有的:
DNR.raml
结果.raml
但它显示了错误Error: 1. Property ABC, in node 'ns0:DNR', is required. 2. Property Results, in node 'ns0:DNR', is required.
任何帮助表示赞赏
mule - RAML中基于查询参数的动态调用
在 RAML 中查询参数中的动态调用需要帮助。
在 RAML 中,我想动态调用示例文件夹中的 .raml 文件。通过查询参数,如果我发送 ?count=2 (例如:https ://anypointpoint.mulesoft.com/mocking/api?count=2 )然后执行 2_records.raml 文件作为响应,该文件位于示例文件夹中......如果我发送 ?count=3 然后 3_records.raml 文件以执行响应,该文件位于示例文件夹中。
api规范如下,可以清楚地理解:
/retrieveDetails get: queryParameters: count: #if query param ?count=2(in mock url) then 2_records.raml 执行。如果查询参数 ?count=3(在模拟 url 中)则 3_records.raml 执行。 在此处输入图像描述 类型:字符串响应:200:正文:application/json 示例:!include 示例/2_records.raml
并附上截图以便于理解。
design-patterns - Concrete example of RAML 1.0 Example DataType
I didn't found any suitable example where Example is being used as DataType properly inside main RAML file. Mostly it's being used as .json/.xml file. Is there any proper detail or reference where I could find that. Using AnyPoint Platform design center to build RAML.
Below pasting screenshot of selection point where we can select Example as DataType.
rest - 如何在 RAML 1.0 中将 UriParameter 设为可选
例如,在任何应用程序控制器中,当暴露一个休息 api 时,我们可以在控制器级别将 PathParams/UriParams 设置为可选,因此客户端并不总是需要传递它。现在我想在 RAML 级别实现相同的目标。我可以看到他们的文档是这样说的。
“尽管可以将 URI 参数明确指定为可选参数,但当直接用斜杠 (/) 括起来时,它应该是必需的。在这种情况下,URI 参数构成一个完整的 URI 路径片段,例如 .../{objectId}/。 ... 允许 URI 包含相邻的斜杠通常没有意义,不包含任何字符,例如 ...//.... 因此,只有当 URI 参数与其他参数相邻时,才应将其指定为可选文本。例如,/people/~{fieldSelectors} 表示 URI 参数 {fieldSelectors} 可以为空,因此是可选的,这意味着 /people/~ 是一个有效的相对 URI。
这确实让我们可以尝试在资源 URL 的末尾使用字母 e,g /{someLetter}{uriParam} .. 的组合。我确实尝试过这种方式,但它总是提到“找不到资源”
问题仅与 RAML 配置有关。例如,这是我必须为其添加 url 参数的示例资源 url。
/test-api/{testId}
现在我想让它保留客户端决定是否通过 UriParameter。
这是我正在尝试的示例 RAML 代码。
现在这三种方法都不起作用。
第一种方法只是使用“?”将 testId 设为可选。但是,如果我跳过 UriParam,则表明没有为此找到资源。
第二种方法 required: false 也不起作用看起来 RAML 忽略了这个验证它总是希望我在 /test-api 之后甚至有一个“/”
第三种方法不起作用,因为它再次希望我把 UriParam 否则考虑默认一个。