Postman使用 --- api调试

Postman调试攻略

Postman是一款优秀的API调试应用,不仅仅是开发人员,只要在API协作开发/使用的过程中,都可以使用Postman达到简化操作,提高工作效率。

Postman是js写的

那Postman具体可以做什么

Postman

1.调试api
2.编写api调用案例,并可以导出分享
3.设置runner,达到api自动化测试/压力测试的效果

以上三个功能是我们平时使用Postman最常用的功能,已经能满足日常工作使用的要求

Postman分为桌面应用、web应用以及插件应用,插件一般是Chrome插件,本篇只讲桌面应用
Postman有免费版以及企业版,我们使用免费版本就可以了,已经包含了核心功能
(翻墙可以提速)64位下载地址:https://dl.pstmn.io/download/latest/win64

下载后直接双击安装使用


如要升级后无法启动,可以完全卸载并删除AppData后再重新安装,之前出现一个bug,升级后一直loading无法打开,一番搜索后才发现是postman升级时旧的程序数据不会删除,两个版本的文件存在兼容性问题,不过一般不需要升级,除非大的版本,问题不大。


安装完成后,是一个登陆页面,可以跳过,如果要登录需要翻墙。我使用的是Google账号


登陆后可以把调试记录保存到云端,不管登不登陆功能都是一致的

Postman的主要界面介绍

先看我们发送一个请求所必须的参数


HTTP请求消息Request

所以我们需要的是
第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本.

第二部分:请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息
从第二行起为请求头部,HOST将指出请求的目的地.User-Agent,服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础.该信息由你的浏览器来定义,并且在每个请求中自动发送等等

第三部分:空行,请求头部后面的空行是必须的
即使第四部分的请求数据为空,也必须有空行。

第四部分:请求数据也叫主体,可以添加任意的其他数据。

HTTP版本Postman已经固定,我们使用时无须指定,默认是HTTP1.1


请求类型


Postman内置默认的请求类型


如果你使用netty开发自定义的http接口,那默认的类型可能不满足你的需求,可以通过编辑请求类型点击下方Save保存为自定义请求类型


请求头部

通过headers标签配置,有默认的头信息,默认是隐藏,可点击显示修改
当你的请求需要添加heade时在这里填写,如accesToken,language等



请求数据

请求数据按使用场景可以分为URL传参和body传参

URL传参
URL传参顾名思义就是直接把要传递给服务器的信息附带在请求地址中,其中可以分为parameter和path。
parameter的格式举例
http://127.0.0.1/test?id=1&name=zhangsan
其中 ?分割了参数段和资源段
?左边指明资源地址,右边开始每个参数格式为 xx=xx,用&隔开,所以本次请求的参数为id:1,name:zhangsan
Postman中parameter会直接同步param标签,所以不想写等于号和&的可以直接再param编写,效果是一致的


path格式举例
http://127.0.0.1/test/user/1
path传参意思指把路径的某段作为参数,具体需要看后端是如何定义的,例子user/1是参数指定的路径,意思是获取user id为1的信息

URL传参因为都是可见的,可能涉及到安全问题,隐私数据谨慎使用

body传参
body传参一般为post(传统方式),但是get没有body post有body这都是相对于浏览器而言的,这是浏览器解析的一套规范,我们在开发web网页时需要遵守此协议,浏览器才能正确解析我们的请求。
实际开发过自定义http接口都知道(netty实现等),在非浏览器的http请求中,请求类型只是一个名称,get可以配置body,可以解析。

formdata
打开控制台可以看到 formdata的格式为 xx: xx 多行的格式

x-www-form-urlencoded 默认的post格式
x-www-form-urlencoded的格式为name=zhangsan&id=1(没配置,截图缺)

multipart/form-data:可以上传文件或者键值对,最后都会转化为一条消息
x-www-form-urlencoded:只能上传键值对,而且键值对都是通过&间隔分开的

raw
raw 的参数可以是任意格式文本,发送端不做任何处理直接发送到服务端,一定是通过body获取,后端的解析方式为读取一次本次请求的payload转为流。
SpringMVC中Request的流只能读取一次,所以如果有场景是需要aop中检查raw的参数的话,需要重写一个request,把已读取的流复制出来,因为检验过后流已经被读取过,不做处理的话后续Controller再读取就会报错无法读取

PS:
上传文件一般是formdata
选择file类型,并选择文件


其他

collections 可以把请求分组,方便分类使用


还有一些功能如分享导出,导出后的文件可以直接导入到其他伙伴的postman

runner
可以配置一个组或者多个组进行自动调用,设定循环次数,间隔等,是一个简易的自动化测试功能。
可能比不上jmeter等功能全面的应用,但是开发自测或者走流程测试比较方便

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269