前言

从上一章节开始,接下来的几个章节会讲解一些开发过程中配套工具的使用。俗话说的好,工欲善其事,必先利其器。对于开发人员而言,有个好用的工具,也是一件事半功倍的事,而且开发起来也很爽,效率也会提升很多。本章节主要讲解关于Postman这款http模拟请求工具,一般上拿来测试api接口服务的。

题外话:对于Postman而言,本人也是仅仅使用了其中一小部分,还是本着够用的原则,对于其一些高级功能,比如自动化测试、auth认证、js脚本及生成各类语言代码(如cUrl、java、ajax等等),后期若有使用时,会再编写一篇博文的。突然很感慨,要学习的东西真多呀,所以还是那句话:本着够用就行!东西是学不完的!

关于Postman

Postman是一款功能强大的网页调试与发送网页HTTP请求的工具。Postman能够发送任何类型的HTTP请求(GET, HEAD, POST,PUT..),附带任何数量的参数和HTTP headers。支持不同的认证机制(basic, digest,OAuth),接收到的响应语法高亮(HTML,JSON或XML)。Postman既可以以Chrome浏览器插件的形式存在,也可以是独立的应用程序存在。本文主要讲解的是客户端的使用。

安装Postman

官方网站:https://www.getpostman.com/apps

按实际的操作环境,选择对应的版本下载:

本文直接选择当前最新版:v6.2.2。

下载后,按提示进行默认安装即可,这里就不贴图了。

界面按钮说明

作图不易呀,打开了从高中开始用的Fireworks。一个程序猿还需要会作图,(┬_┬)。不美观,顺序混乱,就凑合看吧。还想怎么样!

1、History:记录历史请求记录,一般上所有的请求,都会会在此面板上出现,按日期区分,点击可快捷新增一个该请求的tab栏。

2、Collections:收藏夹。你可以按请求的类型或者项目,进行目录的创建,便于管理。可以创建子目录,同时也可批量进行请求,大家可点开看看,应该都知道意思

内部按钮:

3、便签页:可切换不同的便签页进行显示。

4、请求方式:如GET、POST、DELETE等。

5、请求地址:需要测试或者访问的api地址,支持变量,变量写法:

6、URL参数值(querystring):设置url后面的参数值,如author=okong&name=okong

7、点击可发送请求,同时支持下载。

8、保存当前的请求至Collections中,也可另存为成其他的Collections。下次可以快捷点击。

9、鉴权参数,可以设置如OAuth、OAuth2等协议。

10、HTTP Header:自定义请求头部信息。

11、请求体(Body)设置,如POST请求时,设置请求的参数,或者二进制流、json格式参数、xml格式参数等等。

12、发起请求之前执行的脚本,例如request body里的那两个random变量,就是每次请求之前临时生成的,不熟悉,目前没有用过。

13、响应测试,返回的参数进行检验,校验结果会显示在19功能模版中。目前也没有用过,,跳过。。

14、各域名下的cookies查看、新增:

15、code:可一键生成不同语言的请求代码,如cUrl、java等。

cUrl:

java:这里使用的是okHttp工具

16、17、18、19都是请求响应response对应的参数值了,应该都比较熟悉了。如返回的值,cookies、Header、响应测试结果等。

20、请求响应的状态(status)值,如200等,还有响应时间和大小等。吐槽:入门级的服务器就是慢。。200毫秒。。

21、拷贝返回的参数到剪贴板中,就是Ctrl+c功能了,在其他地方可直接粘贴。

22、返回参数里面进行查询。

23、返回参数的不同预览状态,其实就是美化。。

24、设置不同的工作空间,就像eclipse一样,可不同的项目不同的工作空间。

25、设置不同环境下的变量值,就像后端开发有测试环境、开发环境、联调环境等一样的。

Postman测试RESTful接口示例

以一个简单的web服务,进行post、get请求示例,其他的大家可自己安装后自己实践下,自己动手丰衣足食呀~

创建一个web项目

这里创建以常见的http请求方式,如get、post、delete、put进行简单示例下。

RestfulController.java

/**

* 基于Postman的RESTfulAPI接口测试

* @author oKong

*

*/

@RestController

@Slf4j

public class RestfulController {

@GetMapping("/get")

public String get(String msg) {

log.info("get方式!");

return msg;

}

@PostMapping("/post")

public String post(@RequestBody String msg) {

log.info("post方式!");

return msg;

}

@PutMapping("/put")

public String put(@RequestBody String msg) {

log.info("put方式!");

return msg;

}

@DeleteMapping("/delete")

public String delete(String msg) {

log.info("delete方式!");

return "delete " + msg + " success!";

}

/**

* 设置返回状态为417

* @param msg

* @return

*/

@GetMapping("/status")

@ResponseStatus(HttpStatus.EXPECTATION_FAILED)

public String status(String msg) {

log.info("status方式!");

return msg;

}

}

使用Postman测试

1、get方式:

2018-07-28 23:26:39.783 INFO 18092 --- [nio-8080-exec-5] c.l.l.s.chapter14.RestfulController : get方式!

2、post方式:

2018-07-28 23:29:00.143 INFO 18092 --- [nio-8080-exec-4] c.l.l.s.chapter14.RestfulController : post方式!

3、put方式

4、delete方式

5、httpStatus状态测试(设置返回的ResponseStatus):

6、请求方式不正确时:

批量执行:

控制台:

相关资料

这几篇讲解的比较简单明了:

  1. https://www.cnblogs.com/xiaoxi-3-/p/7839278.html
  2. https://blog.csdn.net/ma_jiang/article/details/78574691
  3. 官方文档:https://www.getpostman.com/docs/v6/

总结

本章节主要是讲解了利用Postman进行RESTful接口风格进行测试,也简单介绍了关于Postman的简单用法。在本人使用过程中,以上几种方式基本上已经满足开发需求了。前面也介绍过了Swagger了,在对接第三方系统服务时,Swagger基本就用不上了,这个时候Postman的作用就体现出来了。不同场景下用不同的测试工具。至于一些关于Postman的高级用法,大家需要的话就自行搜索查找下相关资料吧,其他功能我是基本上没有用上。。(┬_┬)

最后

目前互联网上很多大佬都有SpringBoot系列教程,如有雷同,请多多包涵了。若文中有所错误之处,还望提出,谢谢。

postman 怎么调试pos_SpringBoot|第十五章:基于Postman的RESTful接口测试相关推荐

  1. 分布式系统概念和设计 第十五章 (1)

    COORDINATION AND AGREEMENT http://www.cdk5.net/wp/ 背景知识点:Reliable failure detector 实际系统中没有reliable f ...

  2. 20190901 On Java8 第十五章 异常

    第十五章 异常 要想创建健壮的系统,它的每一个构件都必须是健壮的. 异常概念 C++的异常处理机制基于 Ada,Java 中的异常处理则建立在 C++的基础之上(尽管看上去更像 Object Pasc ...

  3. 《Windows核心编程》读书笔记二十五章 未处理异常,向量化异常处理与C++异常

    第二十五章  未处理异常,向量化异常处理与C++异常 本章内容 25.1 UnhandledExceptionFilter函数详解 25.2 即时调试 25.3 电子表格示例程序 25.4 向量化异常 ...

  4. 【正点原子STM32连载】第四十五章 SD卡实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

  5. 异步fifo_正点原子开拓者FPGA开发板资料连载第十五章 IP核之FIFO实验

    1)实验平台:正点原子开拓者FPGA 开发板 2)摘自<开拓者FPGA开发指南>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载地址:http://www.o ...

  6. 《操作系统真象还原》第十五章 ---- 实现系统交互 操作系统最终章 四十五天的不易与坚持终完结撒花 (下)(遗憾告终)

    文章目录 专栏博客链接 相关查阅博客链接 本书中错误勘误 部分缩写熟知 实现exec的思路与启发 遗憾告终 专栏博客链接 <操作系统真象还原>从零开始自制操作系统 全章节博客链接 相关查阅 ...

  7. 《操作系统真象还原》第十五章 ---- 实现系统交互 操作系统最终章 四十五天的不易与坚持终完结撒花(上)

    文章目录 专栏博客链接 相关查阅博客链接 本书中错误勘误 闲聊时刻 实现fork 实现fork的介绍 实现fork的原理 编写完的thread.c(fork_pid) 编写完的thread.h(str ...

  8. 【正点原子MP157连载】第十五章 窗口门狗(WWDG)实验-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  9. 【正点原子STM32连载】 第四十五章 FLASH模拟EEPROM实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

    第四十五章 FLASH模拟EEPROM实验 STM32本身没有自带EEPROM,但是STM32具有IAP(在应用编程)功能,所以我们可以把它的FLASH当成EEPROM来使用.本章,我们将利用STM3 ...

  10. 【XJTUSE 计算机组成与结构笔记】第十五章 控制器操作Control Unit Operation

    文章目录 第十五章 控制器操作Control Unit Operation Key points 15.1 微操作 取指周期 间接周期 中断周期 执行周期 指令周期 15.2 处理器控制 控制信号 控 ...

最新文章

  1. Perl 校验命中的脚本
  2. 在idea中使用构造方法
  3. pandas 把某一列中字符串变数值_Python学习教程:Python数据分析实战基础 | 初识Pandas...
  4. 【JavaScript】数组
  5. SSD浅层网络_目标检测SSD
  6. 浙江省计算机二级(C语言)通过经验+资料
  7. Træfɪk入门教程
  8. ROS笔记(9) launch文件
  9. dp4--codeVs1043 方格取数
  10. 判断活动窗口_蒙城活动推拉棚定做厂家
  11. Jenkins 集成Ansible教程
  12. H桥驱动芯片IR2110功能简介
  13. oj1029统计素数并求和
  14. 佳能打印机扫描文件到电脑显示设置计算机,佳能打印机办公用哪个型号好 佳能打印机扫描文件到电脑步骤【详解】...
  15. 转自Alon's Blog
  16. 非线性回归(Non-linear Regression)学习笔记
  17. 软件开发管理之:编码负责人及标准代码库机制(转)--有同样的想法
  18. 库尔巴克·莱布勒------KL散度
  19. P3398 仓鼠找sugar(LCA,树剖)
  20. 推荐系统9---AFM与DIN模型(推荐系统遇上注意力机制)

热门文章

  1. Apache Lucene中的并发查询执行
  2. jvm开源_开源JVM Sampling Profiler
  3. jboss5.1安全性配置_使用Java EE安全性和JBoss AS 7.x保护JSF应用程序的安全
  4. jdk8 cms g1gc_G1 vs CMS vs平行GC
  5. 透视变换–鸟瞰图_单例设计模式–鸟瞰
  6. wso2 esb_WSO2 ESB的一种消息传递方式
  7. 谷歌guava_使用Google Guava进行馆藏创建和不变性
  8. 微服务系列:MicroProfile和Apache TomEE
  9. Spring框架中的内容协商
  10. gwt-ext_GWT,GWT-Ext(SmartGWT),GXT(Ext GWT)常见任务