Postman进行API测试与请求参数处理
当API遇上Postman,一场“爱”的测试盛宴!我们还将探讨在请求中那些让人头疼的参数问题,比如简单参数、实体参数、数组参数、集合参数……甚至是让人摸不着头脑的日期参数和JSON格式。不过,有了Postman这位“翻译官”在旁,即便是最复杂的“情感表达”,也能被轻松解析和传递。
第一部分 Postman工具
Postman是一款强大的工具,它让开发者能够轻松测试和管理API接口,确保接口的功能和性能符合预期,是API开发和测试过程中不可或缺的好帮手。(界面是真的可爱~)迈克尔???
1.1 功能特点
1.1.1 API开发与测试:
-
- Postman支持创建和测试RESTful API,提供了一个用户友好的界面,方便开发人员构建请求、设置请求头和参数、发送请求以及查看响应结果。
- 支持GET、POST、PUT、DELETE、PATCH等常用的HTTP方法,可以发送带有参数、头信息、请求体的复杂请求。
1.1.2 请求调试和测试:
-
- 发送请求到服务器并查看服务器的响应,检查响应结果中的数据、状态码、请求头等。
- 支持编写测试脚本,通过JavaScript对请求和响应进行验证,如断言响应状态码、验证响应数据等。
1.1.3 自动化测试:
-
- 将多个API请求组织成集合,按顺序执行,实现自动化测试工作流。
- 支持集合的导入、导出和分享,方便团队协作。
- 可以设置定时任务,定期运行集合,监控API的健康状况。
1.1.4 团队协作与共享:
-
- 提供团队协作功能,团队成员可以共享API测试结果和文档。
- 支持与Jenkins、Travis CI等CI/CD工具集成,实现自动化测试流水线。
1.1.5 Mock服务:
-
- 可以创建Mock服务器,模拟API的响应,进行前端开发和测试。
1.1.6 丰富的管理功能:
-
- 提供个人空间管理、团队协作API管理、SAAS服务与SSO集成管理等。
- 支持多平台的客户端,包括macOS、Windows、Linux等。
1.2 使用方式
1. 下载与安装:
-
- 访问Postman官方网站(www.postman.com/)下载并安装Postm…
- 支持Windows、macOS、Linux等多个平台。
2. 注册与登录:
-
- 注册并登录Postman账户,可以同步数据到云端,实现多设备间的数据共享。
3. 创建请求:
-
- 打开Postman,点击“+”号新建一个请求。
- 选择请求类型(如GET、POST),输入请求URL。
- 添加请求参数、头信息和请求体。
4. 发送请求:
-
- 点击“Send”按钮发送请求,查看响应结果。
- 测试完后可以点这个Save保存到postman中
1.3 Postman在开发中的好处
- 独立测试:Postman 允许后端开发者在前端团队开发过程中,或前端资源尚未准备好的情况下,独立地进行 API 接口的测试。
- 模拟请求:Postman 可以模拟各种类型的 HTTP 请求(如 GET、POST、PUT、DELETE 等),以及设置请求头、请求体等,以精确模拟前端向后端发送的请求。
- 查看响应:发送请求后,Postman 会直接显示后端接口返回的响应数据,包括状态码、响应头和响应体等,方便开发者分析接口是否按预期工作。
- 环境变量和全局变量:Postman 支持环境变量和全局变量的使用,可以方便地在不同环境(如开发环境、测试环境、生产环境)之间切换,以及保存和复用常用的请求参数。
- 集合和测试脚本:Postman 支持将多个请求组织成集合(Collection),并通过编写测试脚本来自动化地验证接口响应是否符合预期。
- 团队协作:Postman 提供了团队协作功能,团队成员可以共享集合和测试结果,促进团队间的沟通和协作。
- API 文档生成:Postman 可以根据集合中的请求和响应自动生成 API 文档,方便前端和其他开发人员理解和使用后端接口。
第二部分 请求中常见参数的接收
2.1 简单参数
对于简单参数 不管是get请求还是post请求(保证请求参数名和形参名保持一致即可自动接收成功并类型转换)————这里说的是SpringBoot方法
而原始方法(用HttpServletRequest请求对象接收) 在下面代码注释中有呈现:
再在启动类中启动
拿到端口号8080后 再去postman中进行测试
对于简单参数 不管是get请求还是post请求(保证请求参数名和形参名保持一致即可自动接收成功并类型转换---springboot方式)
假如请求参数名和形参名不一致就要多一句注解: @RequestParam(name = "name") ,通过该注解完成映射【图一】 ,并且!这个里面有个默认的required=true 表示参数必须传递,否则要报错【图二】;当然也可以将required改为false【图三】(这里的required如果是false postman中只要勾选了该参数 也可以传递成功),启动 并在postman中取消勾选第一个参数【图四】,不会报错 控制台输出“null:20”【图五】;
这个 @RequestParam 在这个 2.1简单参数中重起名和是否必须传递、2.3的集合参数中 在参数列表的集合前要标明。
2.2 实体参数
2.2.1 简单实体对象:
Pojo这个包专门用于存放实体类对象
2.2.2 复杂实体对象:
即在pojo包中新添加Address类 并生成其成员变量(province、city)的 getset、tostring方法【图一】,再到User中添加成员变量private Address address; 并重新添加getset、tostring方法【图二】
再到RequestController类中添加一个新方法
启动类启动 再到postman中 输入完整Url (这里的address用address.province方式)
控制台正确返回:
2.3 数组参数
在RequestController中新添加上诉方法 在postman中测试
控制台:
2.4 集合参数:(注意哈集合要添加注解!)
添加注解 @RequestParam 绑定参数关系(这点集合与数组不同!)
2.5 日期参数
日期参数:
这里的注解有丢丢长 反正也不用死记嘛,要用的时候回来看看~
2.6 json格式
Json参数:
参数POJO实体对象前也要使用 @RequestBody标识
2.7 路径参数
单个参数和多个参数
要加注解:@PathVariable
学完之后可以跟着这个案例过一下理一下整个思路Day05-08. 请求响应-响应-案例_哔哩哔哩_bilibili 这篇评论区会说我自己对这个案例的理解~
~又翻到底啦 快睡了快睡了 明天再起来学
“只要一直在跑,就一定错不了”!peace~
转载自:https://juejin.cn/post/7394832419186638857