如何在 RAML 中设置多个示例请求及其响应
Posted
技术标签:
【中文标题】如何在 RAML 中设置多个示例请求及其响应【英文标题】:How to set multiple example requests and its responses in RAML 【发布时间】:2021-01-27 13:35:07 【问题描述】:您能否告诉我如何在 RAML 1.0 中设置多个请求及其响应作为示例,如果可能的话。 我在任何一点工作室 5 api 中都有,我想将它们合并为一个。我想合并所有 raml 文件,但不知道该怎么做。在每个 raml 中只有一个 post 方法,一个请求和一个响应。所以,如果我在 ARC 中发布一个请求,我希望得到适当的响应。
【问题讨论】:
嗨,鲍里斯。这个问题需要细化很多。目前尚不清楚您的要求可能是什么。据我了解,如果您只有这么多 RAML 文件,每个文件都有一个请求正文和一个响应示例,归因于一个 post 方法,那么您需要使用您选择的任何编辑器合并它们; Notepad++ 或平台设计中心。尝试在主 RAML 中使用库或资源类型以获得更好的可读性和DRY
en.m.wikipedia.org/wiki/Don%27t_repeat_yourself
我会尝试清除它。在 anypoint 工作室,我有五个 api 和五个肥皂服务。所有这些的目的都是一样的,只是请求/响应示例不同。直到现在,我同时运行一个 api 和一个肥皂。现在我想以某种方式合并它们并发送一个请求并接收适当的响应。希望那会更好。
将@Aled 的答案用于多个示例,以便在您的请求和响应的多个方法或资源中引用。尚不清楚的是,这五个 API 中有五个不同的资源,还是同一个资源到处重复。您可以在相关地方使用命名示例仅供参考,但也可以实现只发送一个请求并接收适当的响应通过单个资源调用!这就是 RAML 所做的!对于 THE RESOURCE 的每个唯一请求,您需要的唯一更改是请求正文、queryParams 或 uriParams 的更改。
如果您可以编辑问题并提供一些想法的快照,那就太好了。
感谢您迄今为止所做的努力。我有五种不同的资源,现在我只想拥有一种。如果我发送 localhost:8083/api/something 请求 1 以获取响应 1,如果我发送请求 5 以获取响应 5,依此类推。
【参考方案1】:
文档中有guide to defines examples。
对于多个示例,您可以在 RAML 中使用带有 examples:
方面的命名示例。请与 example:
混淆,这是一个示例。命名示例需要标识符。
...
examples:
MyExample1:
...
AnotherExample:
...
您可以只使用examples:
facet 来包含来自另一个文件的示例。
【讨论】:
这没关系,但是如果我发送请求 1 我想得到响应 1,如果我发送请求 4 来得到响应 4,而不是随机的。并且只有一种资源。 定义该语义可能超出 RAML 范围。以上是关于如何在 RAML 中设置多个示例请求及其响应的主要内容,如果未能解决你的问题,请参考以下文章
如果响应正文中的 id 具有依赖性,如何使用预请求脚本在邮递员中设置 2 个集合变量?
在Laravel 4单元测试中,如何在请求中设置cookie?
如何在 WPF 应用程序中 SOAP 客户端的“Set-Cookie”标头响应的新请求中设置“Cookie”标头