Postman参数详解:Query、Path、Body的区别与正确使用

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


在API测试和开发过程中,正确理解和使用参数是至关重要的。Postman作为最流行的API测试工具,提供了多种参数类型支持。本文主讲Query、Path和Body三种主要参数的区别。

参数类型概述

参数类型

位置

可见性

数据长度

典型用途

Query参数

URL问号后

明文可见

有限制

过滤、分页、排序

Path参数

URL路径中

明文可见

中等

资源标识

Body参数

请求体中

不可见

无限制

复杂数据提交

Query参数:URL中的查询条件

定义:Query参数位于URL末尾,以问号(?)开始,多个参数用&连接

示例

GET /api/users?page=1&limit=20&sort=name&order=asc

特点

  • 键值对形式:key=value

  • 在浏览器地址栏中完全可见

  • 有长度限制(不同浏览器限制不同)

  • 默认会被URL编码

使用场景

  • 分页查询(page, limit)

  • 结果过滤(filter=active)

  • 排序设置(sort=date)

  • 搜索条件(q=keyword)

在Postman中的设置

  1. Params标签页中添加

  2. 直接附加在URL末尾

  3. 支持批量编辑和描述

Path参数:URL中的变量部分

定义:Path参数是URL路径的一部分,用占位符表示

示例

GET /api/users/{userId}/posts/{postId}

特点

  • 是URL路径的组成部分

  • 通常用于标识特定资源

  • 在RESTful API设计中广泛使用

  • 支持类型约束(如数字ID)

使用场景

  • 获取特定资源详情

  • 嵌套资源访问

  • RESTful路由设计

在Postman中的设置

  1. 在URL中使用冒号语法::paramName

  2. Params标签页的Path Variables部分

  3. 支持预定义变量值

Body参数:请求体中的数据

定义:Body参数位于HTTP请求体中,不会显示在URL中

示例

{
  "username": "john_doe",
  "email": "john@example.com",
  "password": "secure123"
}

特点

  • 不在URL中显示,安全性较好

  • 支持大量数据传输

  • 支持多种数据格式

  • 仅适用于POST、PUT、PATCH等请求方法

常见数据格式

  • JSON:最常用的现代API格式

  • Form-data:支持文件上传

  • x-www-form-urlencoded:传统表单格式

  • Raw:原始文本(XML、Text等)

  • Binary:二进制文件

使用场景

  • 创建新资源(POST请求)

  • 更新现有资源(PUT/PATCH请求)

  • 提交复杂数据结构

  • 文件上传操作

在Postman中的设置

  1. Body标签页中选择数据类型

  2. 根据格式填写相应内容

  3. 支持JSON语法高亮和格式化

三种参数的对比分析

1. 安全性对比

  • Path参数:中等,暴露资源结构但不含敏感数据

  • Query参数:较低,完全暴露在URL中

  • Body参数:较高,不在URL中显示

2. 数据容量对比

  • Query参数:受URL长度限制(通常2048字符内)

  • Path参数:中等长度限制

  • Body参数:理论上无限制(实际受服务器配置限制)

3. 缓存特性对比

  • Query参数:影响缓存,不同参数产生不同缓存

  • Path参数:影响缓存,不同路径产生不同缓存

  • Body参数:通常不被缓存

最佳实践与常见误区

应该使用Query参数的情况:

  • 可选参数(如分页、过滤)

  • 不影响资源标识的查询条件

  • 需要书签或分享的URL

应该使用Path参数的情况:

  • 标识特定资源或资源集合

  • RESTful URL设计

  • 必需的资源标识符

应该使用Body参数的情况:

  1. 创建或更新资源

  2. 包含敏感信息(密码、令牌)

  3. 复杂或大型数据对象

常见错误:

  1. 误用Query传递敏感数据

    • 错误:GET /api/login?username=john&password=secret

    • 正确:使用POST + Body参数

  2. 混淆Path和Query参数

    • 错误:GET /api/users?id=123

    • 正确:GET /api/users/123

  3. GET请求使用Body参数

    • 错误:GET请求中发送Body数据

    • 正确:GET请求应使用Query或Path参数

高级技巧

1. 动态参数

在Postman中使用变量:​​​​​​​

// 在Pre-request Script中设置变量
pm.collectionVariables.set("userId", "12345");

// 在URL或Body中使用变量
GET /api/users/{{userId}}

2. 参数自动化测试​​​​​​​

// 测试响应是否包含查询参数
pm.test("Contains query parameter", function() {
    pm.expect(pm.response.text()).to.include(pm.request.url.query.get("search"));
});

3. 环境相关参数

利用Postman环境变量管理不同环境的参数值:

  • 开发环境:{{dev_api_url}}

  • 测试环境:{{test_api_url}}

  • 生产环境:{{prod_api_url}}

总结

三个关键点:

Query参数用于可选查询条件,可见于URL

Path参数用于资源标识,是URL的一部分

Body参数用于提交数据,不在URL中显示

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值