如何使用Postman Mock Server

Jim*_*Aho 6 api postman

我按照这里的指南为邮差收藏创建了一个邮差模拟.模拟似乎成功创建,但我不知道如何使用模拟服务.

我已经获得了模拟的URL,但是如何指定我的一个请求呢?如果我发出GET请求, https://{{mockid}}.mock.pstmn.io我会得到以下响应:

{
    "error": {
        "name": "mockRequestNotFoundError",
        "message": "We were unable to find any matching requests for the mock path (i.e. undefined) in your collection."
    }
}
Run Code Online (Sandbox Code Playgroud)

根据上面提到同一个指南,下面的网址是"运行模拟" https://{{mockId}}.mock.pstmn.io/{{mockPath}}但究竟是mockPath什么?

在我的收藏中,我有很多文件夹,在其中一个文件夹中,我有一个带有示例响应的请求.如何通过模拟访问此示例响应?感谢您提前帮助!

这是Postman Pro API,它不仅仅提供了创建阅读模拟的功能.

Pra*_*kar 5

如果您在示例中的 request 是GETonapi.domain.com/api/foo那么 mockPath 是/api/foo并且您的模拟端点是GEThttps://{{mockid}}.mock.pstmn.io/api/foo.

如下图所示的HTTP 请求方法和路径名构成了一个模拟。

分解网址

为了便于使用,模拟服务器被设计为在集合之上使用。示例中的请求与附加到它的响应一起使用。文件夹或集合的名称不是路径名的一部分,并且在使用模拟时不会在任何地方考虑。模拟集合意味着模拟集合中的所有示例。一个例子是请求和响应的元组。

如果指定了可选的响应状态代码,您可以为同一路径获取适当的响应。这可以用x-mock-response-code标题指定。因此,传递x-mock-response-codeas404将返回与路径名匹配并具有状态代码为404.

当前,如果存在具有相同路径但域不同的示例,并且模拟无法区分它们,它将确定性地返回第一个。


Meh*_*nTM 5

遇到无关的错误时,我遇到了同样的问题,但最终我找到了解决方案。不幸的是,我在邮差网站上找不到参考。但是这是我的解决方案:

创建模拟服务器时,请定义您的第一个请求(例如GET api / v1 / about)。因此,将创建Mock服务器,但是即使您获得API密钥并将其放在请求的标头中(作为x-api-key),它仍然会返回错误。这没有道理,但事实证明,仅定义请求是不够的。对我来说,当我为请求添加示例时,它才开始返回响应。

因此,我建议您为创建的每个请求创建至少一个示例。您发送的请求将与您创建的示例匹配,并返回匹配的响应。您可以定义示例响应的body标头和HTTP 状态代码。

我没有Pro Postman订阅,使用免费订阅对我有用。

用于添加示例或选择其中一个进行编辑的菜单: 在此处输入图片说明

定义示例的用户界面(请参见正文,标题和状态): 在此处输入图片说明

如何返回请求页面: 在此处输入图片说明

这是根据示例得出的正确答案: 在此处输入图片说明

  • 如果应用程序代码进行 api 调用,有谁知道如何指定应该运行哪个示例?现在看起来创建的第一个将运行,但是有什么方法可以更改它吗? (3认同)