【Postman】Mock 服务前端脱离对后端接口依赖--强力推荐前端童鞋必看

本文详细介绍了如何在Postman中创建和使用Mock服务,包括保存请求为示例、创建Mock服务器、向Mock服务器发送请求、添加和修改示例以返回自定义数据。Mock服务允许在API实际部署前进行开发和测试,返回的数据可包含动态变量以生成随机数据。此外,文章还对比了Postman和SmartApi在Mock服务上的优缺点,并推荐了SmartApi作为替代工具。
摘要由CSDN通过智能技术生成

Mock 服务通过返回预定义数据来模拟 API,使您能够在 API 投入生产之前(或不使用生产数据)对其进行开发或测试。在 Postman 中,Mock 服务依赖于保存在集合中的示例来返回模拟数据。按照下面的步骤,动手演示Mock 服务和示例如何协同工作,并了解如何将它们集成到 API 工作流程中。

创建模拟服务器

  • 第 1 步:发送请求
  • 第 2 步:将请求保存到集合
  • 第 3 步:将响应保存为示例
  • 第 4 步:为集合创建一个模拟服务器
  • 第 5 步:向模拟服务器发送请求
  • 第 6 步:添加另一个示例
  • 第 7 步:修改保存的例子返回数据保存后可以从mock服务里获取

以下步骤将引导您完成在 Postman 中创建Mock 服务的过程。首先,您将设置Mock 服务工作所需的一些基础知识。一旦您的Mock 服务启动并运行,您将向它发送请求并查看您的示例如何用于返回数据。

第 1 步:发送请求

在 Postman 中,通过选择+或选择New > HTTP Request打开一个新请求。保留GET方法,并为请求 URL 输入https://postman-echo.com/get?test=123。准备就绪后,选择发送。

此请求调用Postman Echo服务,您可以使用该服务测试 REST 或 SOAP 客户端并进行示例 API 调用。生成的响应显示在请求下方的响应窗格中。
在这里插入图片描述

第 2 步:将请求保存到集合

选择保存以将请求保存在集合中。集合是可用于组织工作和创建 API 工作流的请求组。

在这里插入图片描述

第 3 步:将响应保存为示例

要保存从 Postman Echo 服务收到的响应,请选择Save Response > Save as example
在这里插入图片描述
在这里插入图片描述

第 4 步:为集合创建一个Mock 服务

现在您已经将一个示例添加到您的集合中,您可以设置一个Mock 服务了。在边栏中选择收藏。更多操作图标 选择集合旁边的更多操作图标 postman集合,然后选择模拟集合。
在这里插入图片描述

对于模拟服务器名称,输入M1。您还可以根据需要为模拟服务器指定其他详细信息:

集合已设置为postman,因为您选择模拟此集合。
如果您的收藏有多个发布标签,您可以选择要使用的标签。由于这是一个新集合,您只能选择Current。
如果您保存的示例使用环境变量(如{{base_url}}/my/path),则必须选择相应的环境,否则模拟服务器将无法工作。在这种情况下,该示例不使用任何变量,因此您可以选择No Environment。
默认情况下,模拟服务器是可公开访问的。如果您选中Make mock server private复选框,则 mock 服务器将不再是公共的。您可以与团队成员共享它并提供编辑或查看权限。目前,不要选中此复选框。

完成模拟服务器的配置后,选择Create Mock Server。您可以随时通过选择侧栏中的Mock 服务来访问Mock 服务。
在这里插入图片描述

第 5 步:向Mock 服务器发送请求

现在您已经创建了模拟服务器M1,您可以向模拟端点发送请求。

首先,复制Mock 服务器 URL。在边栏中选择Mock ServersM1 ,选择Mock 服务器,然后选择Copy Mock URL
在这里插入图片描述
接下来,通过选择+或选择New > HTTP Request创建一个新请求。将模拟 URL 粘贴到新请求中,然后选择Send
在这里插入图片描述
发送此请求会返回错误。原因是您没有添加到Mock 服务器 URL 的路径,并且没有匹配的保存示例具有未定义的路径和请求方法GET。Mock 服务返回的响应完全取决于您保存的示例中的 URL 和方法。

但是,您确实有一个包含路径/get和请求方法的已保存示例GET。添加/get到Mock服务器 URL 的末尾并再次发送请求。这次您会收到来自Mock服务器的预期响应。
在这里插入图片描述

第 6 步:添加另一个示例

为了进一步演示来自Mock服务的响应如何完全依赖于您保存的示例,请向postman集合中添加另一个示例。重复上述步骤 1 到 3 以将请求保存到集合中,然后将响应保存为示例postman2,这次使用请求 URL https://postman-echo.com/test
在这里插入图片描述
发送GET请求以https://postman-echo.com/test返回 404 错误,您将其保存为另一个示例。该集合C1现在有两个请求和两个保存的示例:

  • 示例 postman -GET请求路径/get
  • 示例 postman2 -GET请求路径/test
    最后,重复上面的第 5 步,但是这次/test在发送请求时将路径添加到Mock服务器 URL 的末尾。这将返回预期的 404 响应。
    在这里插入图片描述

您的示例可能因 URL 端点、请求方法或状态代码而异。如果您有多个示例,您可以选择将每个示例保存在唯一的端点 URL
下,就像您在本演示中看到的那样,使用/get和/test。如果您保存了具有不同响应状态代码的示例,您可以将经过身份验证的请求连同x-mock-response-code指定返回的响应需要匹配的整数响应代码的标头一起发送到Mock服务器。

第 7 步:修改保存的例子返回数据保存后可以从mock服务里获取

比如上面那个返回404 数据为空的,可以自行添加一下测试数据

{
    "name": "{{$randomFullName}}"
}

在这里插入图片描述
然后点击保存后,在postman2里再次访问之前M2里Mock服务,点击Send
在这里插入图片描述

使用动态变量生成随机数据

正如您在本演示中所见,您在示例中定义了要由Mock服务器返回的数据。但是,在某些情况下,您可能希望Mock服务器返回包含随机数据的响应。

要让您的Mock服务器返回随机数据,请在示例的响应正文中使用动态变量。动态变量作为Mock服务器响应的一部分解析并替换为随机数据。动态变量可用于在模拟 API 时生成随机数据,您可以将它们用于探索性测试和编写丰富的数据驱动测试。

例如,您的示例的响应正文可能包含如下动态变量:

{
    "name": "{{$randomFullName}}",
    "userName": "{{$randomUserName}}",
    "location": "{{$randomCity}}",
    "company": "{{$randomCompanyName}}",
    "jobTitle": "{{$randomJobTitle}}",
    "updatedAt": "{{$timestamp}}"
}

当您调用Mock服务器端点时,您会看到响应数据更改为:

{
    "name": "Cielo McClure",
    "userName": "Aurelie.Lockman",
    "location": "Kubhaven",
    "company": "Runolfsdottir, Bernhard and Hodkiewicz",
    "jobTitle": "Direct Branding Liaison",
    "updatedAt": "1565088856"
}

小结

相对而言postman的Mock服务没有Apipost友好,而且mock函数返回的都是英语mock数据。创建Mock服务有些繁琐了。不过如果团队大部分人用postman那各位大佬还是保持和团队一致的使用习惯比较好。

产品推荐

推荐理由

postman在国内使用已经越来越困难:
1、登录问题严重
2、Mock功能服务基本没法使用
3、版本更新功能已很匮乏
4、某些外力因素导致postman以后能否使用风险较大
出于以上考虑因此笔者自己开发了一款api调试开发工具SmartApi,满足基本日常开发调试api需求

简介

历时一年半多开发终于smartApi-v1.0.0版本在2023-09-15晚十点正式上线
smartApi是一款对标国外的postman的api调试开发工具,由于开发人力就作者一个所以人力有限,因此v1.0.0版本功能进行精简,大功能项有:

  • api参数填写
  • api请求响应数据展示
  • PDF形式的分享文档
  • Mock本地化解决方案
  • api列表数据本地化处理
  • 再加上UI方面的打磨

下面是一段smartApi使用介绍:
在这里插入图片描述

下载地址:

https://pan.baidu.com/s/1kFAGbsFIk3dDR64NwM5y2A?pwd=csdn

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lichong951

你的鼓励决定更新的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值