文章目录

  • 一、前言
    • 1、postman 是什么
    • 2、为什么要使用 postman
  • 二、HTTP 协议
  • 三、接口测试
    • 1、界面布局
    • 2、发送第一个 HTTP 请求
    • 3、保存请求到收藏夹(Collections)
    • 4、查看请求头
    • 5、查看请求体
  • 四、结语
    • 1、写代码的心得和体会

一、前言

1、postman 是什么

postman 是一款 HTTP 的客户端工具,它可以用来调试和测试接口。通过使用 HTTP 协议,可以将请求数据发送到服务器端,并从服务器端获取响应数据。

2、为什么要使用 postman

后端开发者写的代码在大多数情况下是要给到前端开发者调用的,通过接口的形式给到前端开发者。在给前端联调前,我们要保证自己写的接口是正常的,可以被调用的。

因为 postman 可以模拟 HTTP 请求,而我们开发完成的接口一般都是使用 HTTP 协议,所以 postman 可以使用场景很多。比如,在本地环境通过它调试接口是否调通,在测试环境通过它测试接口是否有问题,在生产环境通过它验证问题。

在开发阶段,当接口开发完后,可以通过 postman 调用本地环境的接口。此时,在本地代码上打断点,当请求进来时,就可以很方便的看到程序运行时的数据。然后通过 debug ,一步一步往下走,很方便就可以讲接口调通。

在测试阶段,测试接口已经部署到测试环境了。可以通过 postman 调用测试环境的接口。此时,可以对同一个接口,使用不同的请求参数,然后根据不同的响应数据判断接口是否正确。

在线上运行阶段,如果要验证生产问题,可以通过 postman 调用接口,达到验证的目的。

二、HTTP 协议

在讲 postman 的使用之前,我想先重点的讲一下 HTTP 协议的请求和响应。HTTP 协议是我们开发 Web 接口的基础,它分为请求和响应两部分。客户端通过请求将数据发送给服务端,服务端通过响应将数据返回给客户端。

postman 就是一个 HTTP 客户端,它界面上的数据框都对应着 HTTP 协议的请求和响应。只要它和 postman 有着非常紧密的联系,只要熟悉了 HTTP 协议,使用 postman 就是一件很简单的事了。

HTTP 请求分为三部分,分别是请求行、请求头和请求体。

  • 请求行分为三个部分,分别是请求方法、请求地址和协议版本
  • 请求头以键值对的方式放置和接口业务无关的参数和数据
  • 请求体放置和接口业务相关的请求数据

HTTP 响应分为三部分,分别是响应行、响应头和响应体。

  • 响应行分为三个部分,分别是协议版本,状态码和状态码描述。
  • 响应头以键值对的方式放置特定的参数和数据
  • 响应体放置服务器返回的业务数据

熟悉了请求和响应后,后续我们可以看到 postman 界面上数据框的布局就对应着 HTTP 协议的请求和响应,不信你就继续往下瞧。

三、接口测试

1、界面布局

先介绍以下 postman 的界面布局。如下图所示,postman 界面上的数据框布局和 HTTP 协议的请求和响应完全一致。这不是巧合,而是因为 postman 和 HTTP 有着千丝万缕的联系。
postman教程

2、发送第一个 HTTP 请求

postman 官方提供了一个可供测试的特殊接口:https://postman-echo.com/get?test=123 。
该接口会将请求参数在响应中返回。

如下图所示:我们提交一个test参数的请求,在返回的响应中也会携带该数据。现在,单击"send"按钮发送我们的第一个请求。注意来自服务器的响应,在请求数据的下方展示了响应数据,现在我们已经完成了一个 HTTP 请求,很简单吧。
postman教程
(温馨提示:点击图片可放大)

服务器收到了我们的请求,并且将我们带过去的参数响应给了我们。

可以看出使用 postman 请求接口非常简单,填好请求地址、请求参数,然后选择请求方法,点击 send 按钮,服务端返回数据后,我们就完成了一次HTTP请求,也完成了接口的调用。

3、保存请求到收藏夹(Collections)

一般来说,我们在调试接口时,不会只请求一个接口,可能会请求一大批接口。postman 中发送的每个请求都会显示在侧栏的“ 历史记录”选项卡下。

如果只有几个接口,通过历史部分重新使用请求很方便。但是,随着接口的增加,在历史记录中查找特定请求会非常耗时。

所以我们可以将所有请求保存为一组收藏夹中,以便于访问和按项目分类。

点击下图中的"save"按钮可以将请求保存到一个收藏夹,下次再使用可以很方便的找到。
postman教程
(温馨提示:点击图片可放大)
postman教程
(温馨提示:点击图片可放大)

4、查看请求头

postman教程

5、查看请求体

postman 允许发送任何类型的 HTTP 请求。如下图所示:可以分为五种不同的 body 类型。包括:none(none没有请求类型,这里不细讲)、form-data、x-www-form-urlencoded、raw、binary。
postman教程

  • multipart/form-data编码
    multipart/form-data是 Web 表单用于传输数据的默认编码。
    这里是模拟在网站上填写表单并提交。在表单数据编辑器上除了可以填上键值对的数据,也可以附加文件。
    注意:由于 HTML5 规范的限制,文件不存储在历史记录或集合中。下次发送请求时,需要再次选择该文件。目前尚不支持上传多个文件,每个文件都有自己的 Content-Type。
    postman教程
  • urlencoded编码
    此编码与 URL 参数中使用的编码相同。只需输入键值对,postman 就可以正确的编码键和值。请注意,无法通过该编码模式上传文件。multipart/form-data 和 urlencoded 之间可能存在一些混淆,因此请务必先检查你的 API。
    postman教程
  • raw编码
    原始请求可以包含任何内容。postman 不会解析在原始编辑框中输入的字符串。无论你在文本区域放置什么,都会随请求一起发送。
    postman教程
  • raw编码binary编码
    二进制数据编码,允许你发送无法在 postman 中输入的内容,例如图像,音频或视频文件。你也可以发送文本文件。如前面在表单数据部分中所提到的,如果要通过历史记录或集合加载请求,则必须重新附加文件。
    postman教程

四、结语

1、写代码的心得和体会

最后,谈一下我写代码的心得和体会。虽然使用 postman 等工具很方便调试和测试接口,但是这些手段都是通过外部方法解决问题。

我觉得最本质的是通过内部手段,提前将问题扼杀在摇篮中。

比如拿到需求后,先不急着写代码。先和产品经理把需求沟通清楚,然后从全局的角度设计接口,设计数据库,当设计工作做完后,最后才是写代码。到了这一阶段,你就只负责用代码实现业务逻辑了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。