postman 测试接口非常方便,接下来就开始测试 postman 的一些简单用法。
一、postman 的简单使用
打开安装好的 postman 客户端。
1. 使用 postman 获取 html 网页
postman 支持很多请求方式,默认使用的是 GET 请求方式,直接获取一个网页的数据时,就是使用 GET 请求方式。
在 postman 的 url 输入框输入 www.baidu.com ,点击右边的 Send 按钮,就会获取到百度首页的 HTML 文件。
这个结果和使用浏览器访问百度首页获取到的结果相同,只是浏览器会将 HTML 文件解析成我们看到的页面,postman 保留了前端的代码,不做解析。
2. 使用 postman 获取 json 数据
https://httpbin.org 网站提供了一些供开发人员测试的接口,可以用来进行测试。
在 postman 的 url 输入框输入 https://httpbin.org/get ,点击 Send 按钮,这个网站会返回一个 json 数据,json 数据中的 User-Agent 是 PostmanRuntime/7.20.1,将我们发送请求的软件名字返回了,如果使用浏览器打开这个网页,返回的数据中 User-Agent 就是浏览器的信息。
3. 使用 postman 获取图片数据
如果访问的接口返回的是静态文件,比如说图片,也可以使用 postman 来完成获取。
当在浏览器访问 GitHub 时,可以看到 GitHub 的图标,一般的网页图标都是展示在浏览器的顶部。
可以访问 https://github.com/favicon.ico 获取到 GitHub 的图标,在大部分的 Web 项目中,都会使用 /favicon.ico 来作为网站的图标接口。比如百度的图标就访问 www.baidu.com/favicon.ico ,QQ的图标就访问 www.qq.com/favicon.ico ,淘宝的图标就访问 www.taobao.com/favicon.ico,以此类推,自己开发的网站一般也会使用 /favicon.ico 接口。
4. 使用 postman 发送 POST 请求
在请求方式中,GET 和 POST 是最常用的两种方式。GET 是最简单的,POST 要比 GET 复杂一些,因为要按照接口设计的要求发送数据给后端,后端才能返回正确的数据。
还是使用 https://httpbin.org 网站提供的测试接口,上面使用的是 https://httpbin.org/get 接口,同理可以猜到也有 https://httpbin.org/post 接口。
确实没错,在 url 输入框输入 https://httpbin.org/post ,将左边的请求方式改成 POST 方法,POST 需要向后端发送数据,这个接口需要的数据是 json 格式的数据。数据放在请求体 Body 中,点击 Body 按钮,选择 raw ,再点击右边的下拉框选择 JSON ,然后输入需要发送的 json 数据。
一切准备就绪,点击 Send 按钮,就会收到该接口返回的数据,也是 json 格式的,这个接口中返回了我们发送过去的数据。
此外, https://httpbin.org 网站还提供了 PUT 和 DELETE 等测试接口,都可以使用 postman 来测试。
测试 PUT 时就将请求方式改成 PUT,访问 https://httpbin.org/put ,发送对应的数据。
测试 DELETE 时就将请求方式改成 DELETE,访问 https://httpbin.org/delete 。
二、使用 postman 测试 Flask 项目接口
在前面的文章里,我用 Python Flask 框架实现了简单增删改查的接口,接下来就用 postman 对这些接口进行测试。
接口实现的文章: Python Flask实现修改和删除数据
1. 查询所有数据
先在本地运行 Flask 后台程序和 Mysql ,Flask 默认服务地址是 http://127.0.0.1:5000/ 。
在 postman 的 url 输入框里输入 http://127.0.0.1:5000/ ,然后点击 Send 按钮,在 Flask 的后端视图函数中,返回的是一个模板文件,所以在 postman 中获取到的就是模板文件的源码,postman 不像浏览器会对模板文件进行渲染。
postman 返回的是 HTML 源码,在我写的这个 Flask 程序中,所有接口返回的都是同一个模板文件,HTML 源码是一样的,对比不出效果。
虽然 postman 默认不会渲染页面,但并不代表没有这个功能。在响应数据栏的上方,有一个 Preview 按钮,就是大部分软件都有的“预览”功能,点击 Preview 按钮,就会看到跟浏览器页面一样的效果。完成这个 Flask 程序后,进行了一些演示,所以现在只剩一条数据,展示效果如下图。
2. 添加数据
在实现的接口中,查询所有,指定查询和添加数据的接口是同一个,都是根路由 / ,将请求方式改成 POST ,url 继续填 http://127.0.0.1:5000/ 。
后端接口是从前端的 form 表单中获取数据的,所以要使用 form 表单将添加的数据发送给后端。不管是 from 表单,还是上面使用的 json 数据,都是携带在请求体中的,所以 form 表单也是通过请求体发送给后端。
点击 postman 界面的 Body 按钮,选择 form-data ,然后按键值对的形式填写 form 表单的数据,KEY 对应 from 表单中前端标签的 name 值,VALUE 对应 from 表单中提交的内容,也就是我们在浏览器 input 标签中输入的内容。
确认填写无误后,点击 Send 按钮即可发送请求,获取响应,返回的还是 HTML 文件。
点击 Preview 预览,现在已经多了添加的数据,添加成功。
3. 查询指定数据
查询指定数据的接口不变,请求方式也是 POST ,url 继续填 http://127.0.0.1:5000/ 。
然后将需要查询的数据用 from 表单的方式发送给后端,返回响应。
点击 Preview 预览,只显示查询的数据,查询数据的接口也测试成功。
4. 修改数据
修改的接口有两个,/update_person/<id> 和 /update_phone/<id> ,只测试 /update_phone/<id> ,另一个就不重复了。
修改数据的请求方式使用的是 POST ,在 RESTful 接口设计风格中,修改接口一般使用 PUT 请求方式,但并不是一定要遵守。
将 url 改成 http://127.0.0.1:5000/update_phone/11 ,在 url 中包含了修改的 id ,这个 id 值要到本地数据库中查,因为之前对数据多次删除和添加,id 是自增的,所以现在需要到数据库中确认 id 值,将这个值从 url 中携带给后端。
在 from 表单中填写修改后的值,发送请求,返回响应,预览,可以看到数据修改成功。
5. 删除数据
删除的接口也有两个,/delete_person/<id> 和 /delete_phone/<id> ,这次测试 /delete_person/<id> 。
删除接口的请求方式使用的是 GET ,在 RESTful 接口设计风格中,删除接口一般使用 DELETE 请求方式,不一定要遵守。
如将上面添加的数据删除掉,先到数据库中查到这条数据的 id ,然后将 id 值从 url 中携带给后端。
点击 Send 按钮发送请求,返回响应,预览,可以看到数据删除成功,只剩下了最初的一条数据。
通过对一些网站接口的测试和对自己开发的简单接口进行测试,可以看出 postman 进行接口测试确实是比较简单的。