问题标签 [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.

0 投票
2 回答
2122 浏览

api-design - 在 RAML 中验证查询参数

我需要创建一个具有四个可能的 HTTP 查询参数的 API。参数一或参数二是必需的。其他是可选的。从 Github 上的官方RAML 版本 1.0 规范中,我在RAML queryString 示例中发现了一个几乎完全相同的场景。

我将它加载到 Mulesoft 设计中心进行测试。RAML 在设计中心没有产生任何错误,一切看起来都很好。根据 RAML 中的第一个示例,以下 URL 应该会产生成功(200 OK):

当我通过 Postman 发送它时,它会到达模拟服务,但我收到以下错误:

我不确定这是否是设计中心的限制,或者我的 URL 是否有问题。有谁知道我做错了什么?

这是官方规范中的 RAML 示例:

0 投票
1 回答
1073 浏览

mule - 如何在 RAML 中设置多个示例请求及其响应

你能告诉我如何在 RAML 1.0 中设置,如果可能的话,多个请求及其响应作为示例。我在任何一点工作室 5 api 中都有,我想将它们合并为一个。我想合并所有 raml 文件,但不知道该怎么做。在每个 raml 中只有一个 post 方法,一个请求和一个响应。所以,如果我在 ARC 中发布一个请求,我希望得到适当的响应。

0 投票
1 回答
21 浏览

raml - RAML - 如何设计带有参数的端点?

我需要使用 RAML 设计此规范:

目标是在URI中传递orderId和itemId并获取数量。我是这样设计的:

以这种方式设计资源是最佳实践还是有更好的方法?

0 投票
1 回答
143 浏览

mulesoft - 使用 Raml 验证标头

我有三个标头 A、B、C,这里 A 始终是强制性的,并且 B 或 C 在请求中一次只能出现一个。

如何在 raml 1.0 中实现

0 投票
0 回答
29 浏览

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.

任何帮助表示赞赏

0 投票
1 回答
198 浏览

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

并附上截图以便于理解。

0 投票
1 回答
45 浏览

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.

enter image description here

0 投票
0 回答
131 浏览

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 否则考虑默认一个。