PostIn从基础到实践(5) - 对接口进行快捷调试

PostIn是一款开源免费的接口管理工具,包含项目管理、接口调试、接口文档设计、接口数据MOCK、接口测试、测试计划等模块,支持免费私有化部署,一键安装零配置,支持免登陆本地接口调试。本文将介绍如何对接口进行快速便捷调试。

1、接口调试

Postin 接口调试支持 HTTP 和 WebSocket 协议,帮助开发者验证 API 接口的功能,确保接口按预期工作。

接口调试

HTTP和WebSocket协议在接口调试页面区别。

协议

区别

HTTP

  • 需要选择HTTP请求方式(GET、POST、HEAD、PUT、DELETE、PATCH)
  • 请求体遵循特定内容类型(如 application/json、multipart/form-data 等),数据格式与 Content-Type 头严格绑定。
  • 支持前置脚本、后置脚本、断言等操作。
  • 包含完整响应头。

WebSocket

  • 请求体支持‌文本‌(UTF-8编码)和‌二进制‌格式,数据帧直接传输,无需附加 Content-Type 等头信息。
  • 无独立响应头。

1.1 HTTP协议

‌HTTP协议客户端发起请求后,服务器返回响应即断开连接,每次通信需重新建立连接。在接口调试页面选择HTTP协议,界面显示HTTP协议接口调试需要的项目。

  • 新建接口调试页签

接口调试页面,点击tabs页右侧的“+”号,添加一个新的接口调试tabs。

接口调试页签

  • 选择请求方式

选择“HTTP”协议,显示请求方式下拉框,输入需要测试接口的请求方式,支持的请求方式包含GET、POST、HEAD、PUT、DELETE、PATCH。

请求方式

  • 输入请求地址

在地址栏中输入需要测试的接口地址,接口调试需要输入包括主机和路径等信息。

  • 输入请求参数

在相应的输入框或表单中输入需要传递给接口的请求参数。这些参数可以包括查询参数、请求体参数、请求头等,根据接口的需求进行输入。

请求参数

请求参数:

属性

描述

Header

位于HTTP请求的头部,用于传递元数据。

Query

出现在URL问号后,对资源进行筛选、排序或分页。

Path

嵌入在URL路径中,明确标识资源的唯一路径。

Body

位于HTTP请求的正文,用于传递实际数据。

其中Body类型及其用途如下。

属性

描述

none

不设置请求Body。

form-data

上传文件或同时提交文本和文件。

x-www-form-urlencoded

提交简单的键值对表单数据,适用于传统 HTML 表单提交。

json

Raw 的子集,严格遵循JSON语法(键值对、双引号、嵌套结构等),用于结构化数据传输。

raw

原始数据格式,支持任意文本内容(如JSON、XML、纯文本等)。

  • 发送测试

点击界面上的发送按钮,将测试请求发送给目标接口。系统将会使用输入的请求地址和参数发送请求,并等待接收到服务器的响应。

  • 查看测试结果

在接收到服务器的响应后,系统会将响应结果显示在界面上,包括响应状态码、响应体内容等信息。用户可以在界面上直接查看测试结果,以便进行验证和调试。

1.2 WebSocket协议

‌WebSocket‌协议连接建立后客户端与服务器可双向实时传输数据,无需重复握手。在接口调试页面选择WebSocket协议,界面显示WebSocket协议接口调试需要的项目。

  • 新建接口调试页签

接口调试页面,点击tabs页右侧的“+”号,添加一个新的接口调试tabs。

  • 选择协议输入请求地址

选择“WS”协议,在地址栏中输入需要测试的接口地址,包括主机和路径等信息。这是发送测试请求的第一步,确定要测试的接口地址。

选择WebSocket协议 

  • 建立连接

要与服务器进行通信,你首先需要建立一个 WebSocket 连接。只需点击“连接”按钮即可。

连接

连接成功后,服务器会对此作出响应。

  • 输入请求参数

在请求栏输入需要传递给接口的请求参数。这些参数可以包括查询参数、请求体参数、请求头。

请求参数

属性

描述

请求头

位于接口请求的头部,用于传递元数据。

查询参数

出现在URL问号后,对资源进行筛选、排序或分页。

请求体

位于接口请求的正文,用于传递实际数据。

  • 发送测试

点击界面上的发送按钮,将测试请求发送给目标接口。系统将会使用输入的请求地址和参数发送请求,并等待接收到服务器的响应。

  • 查看测试结果

在接收到服务器的响应后,系统会将响应报文显示在界面上。用户可以在界面上直接查看测试结果,以便进行验证和调试。

2、前置脚本

在接口请求发送‌之前‌执行,主要用于准备测试数据、动态修改请求参数或设置环境变量。

例如,使用前置脚本设置请求头参数ticket。

pi.header.set(key,value)   //设置请求头
pi.query.set(key,value)   //设置查询参数
pi.body.form.set(key,value)   //设置请求体
pi.body.urlencoded.set(key,value)    //设置请求体

前置脚本 

或者还可以设置一些其他前置脚本。例如生成随机用户ID和当前日期,并将生成的数据写入请求体表单中 。

// 这个脚本为表单数据请求设置字段
// 生成随机用户ID
const userId = Math.floor(Math.random() * 10000);
// 获取当前日期并格式化
const currentDate = new Date().toISOString().split('T')[0];
// 准备表单数据
pi.body.form.set("username", `user_${userId}`);
pi.body.form.set("email", `user_${userId}@example.com`);
pi.body.form.set("registrationDate", currentDate);

3、后置脚本

在接口请求发送‌之后‌执行,主要用于解析响应数据、断言校验、清理测试数据或传递参数给后续请求。

pi.response.get()  //获取响应体
pi.response.getStatusCode()  //获取响应状态码

例如登录接口,取响应体json中data.ticket,将动态值存储至环境变量ticket中,后续通过{{ticket}}引用。

// 取响应json

const responseJson = pi.response.get();

//找到json文件data下的ticket

const ticket = responseJson.data.ticket;

后置脚本

4、断言

支持可视化断言,在接口调试点击断言,显示需要输入断言的来源(状态码、响应体、响应头)、属性名称、比较符、参数值。添加完成之后,调试接口在接口响应栏下断言tab,显示断言是否成功。

  • 验证基础状态‌

检查接口返回的‌HTTP状态码‌是否符合预期(如200表示成功)‌,以及验证响应头中的关键信息(如Content-Type格式是否正确)‌。

响应码断言

  • ‌校验响应内容‌

包括验证响应体中是否‌包含特定字符串‌‌、‌JSON字段值是否匹配预期‌‌,或直接对比整个响应体与预设字符串是否完全一致‌。

响应体断言

例如,如上图的断言显示执行成功。

5、调试历史

接口每一次调试都会记录在左侧接口调试历史列表,点击调试历史列表,右侧显示调试时设置的参数。

调试历史列表

点击调试历史右侧的删除按钮,可以对调试历史进行删除。点击接口调试列表右上角“扫把”按钮,清空调试历史列表。

删除调试历史

有兴趣的朋友可以前往官网体验下载,或者下载私有化部署版本安装使用。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值