如何模拟以下请求:DELETE {{url}} / users / {{user_id}}

时间:2018-12-05 00:57:17

标签: postman

它返回一个错误:

{
    "error": {
        "name": "mockRequestNotFoundError",
        "message": "We were unable to find any matching requests for this method type and the mock path, '/users/444', in your collection."
    }
}

此请求是更大工作流程的一部分,{{user_id}}变量具有先前启动的请求POST /users的值。

如何解决此问题?有任何解决方法吗?

已编辑

重现问题的步骤:

  1. 创建集合“用户”
  2. 添加模拟(自动设置“ url”变量)
  3. 添加POST请求“创建用户”
  4. 在“测试”中添加一行pm.environment.set("user_id", pm.response.json().id);
  5. 将网址设置为{{url}}/users
  6. 添加示例,将正文内容添加到{"id":444},并将状态返回到200 OK,保存
  7. 保存并运行请求,现在变量user_id的值为444
  8. 创建DELETE请求“删除用户”
  9. 将网址设置为{{url}}/users/{{user_id}}
  10. 添加示例,添加状态204 No Content并保存
  11. 保存并运行请求

返回的错误将如上所述。 变量user_id在创建模拟时是已知的,保存时不会引发错误。

已解决

我认为由于某种原因,Postman不会由于返回的错误而创建示例模拟端点。 现在写这篇文章的编辑版本并复制步骤,发现我已经在请求中定义了值为200的键x-mock-response-code,并且所定义的示例返回204-这是导致错误的原因,现在有意义给我。

1 个答案:

答案 0 :(得分:0)

这是一篇有关如何模拟邮递员请求的好文章:https://www.getpostman.com/docs/v6/postman/mock_servers/mocking_with_examples

以下是设置模拟服务器的方法:https://www.getpostman.com/docs/v6/postman/mock_servers/setting_up_mock

还有另一种与邮递员嘲笑的方法:https://www.getpostman.com/docs/v6/postman/mock_servers/mock_with_api

但是据我了解,这里的想法不是模拟请求,而是模拟响应。因此,您只需生成所需的响应,然后他们就会调用邮递员模拟服务器,该服务器将返回您先前生成的响应,您可以根据需要使用该响应。

但是您不能以将请求发送到端点并获得不同结果的方式来模拟它。