关于快速测试API接口的一个新技能
前言
我们大家在日常开发过程中,或多或少都涉及到 API 接口的测试。例如,有的小伙伴使用 Chrome 的 Postman 插件,或者使用火狐的 restclient 等工具。事实上,这些工具是测试 API 接口非常有效的方式之一,笔者之前也一直使用 Postman 完成 API 接口的测试工作。今天,笔者推荐另外一个非常好用的小工具,能够帮助读者快速测试 API 接口。这个工具就是 IDEA 的 Editor REST Client。
IDEA 的 Editor REST Client 在 IntelliJ IDEA 2017.3 版本就开始支持,在 2018.1 版本添加了很多的特性。事实上,它是 IntelliJ IDEA 的 HTTP Client 插件。
开始工作
首先,我们可以在任意目录下创建一个 xxx.http 文件,如图所示。
这里,我们需要使用 ### 进行 HTTP 请求分割,并在后面添加注释,案例如下所示。
### 用户登录 POST http://localhost:8088/oauth/token?grant_type=password&username=lgz&password=123456 Accept : application/json Content-Type : application/json;charset=UTF-8 Authorization: Basic client secret Cache-Control : no-cache
因此,我们获得的响应内容。
多环境配置
在开发过程中,我们通常会存在多套环境,例如开发环境、测试环境、预发环境、生产环境 等。因此,如果 Editor REST Client 能够像 Postman 一样做到多环境配置就太棒了。事实上,Editor REST Client 已经支持了这个特性,我们只需要创建 rest-client.env.json 文件,并且配置多环境信息即可。
{ "development" : { "url" : "http://localhost:8088", "token" : "Bearer 4d74c7fb-0ef4-45ec-b3ff-902eaa3d116c" }, "test" : { "url" : "http://localhost:8089", "token" : "Bearer 4d74c7fb-0ef4-45ec-b3ff-902eaa3d116c" }, "preproduction" : { "url" : "http://activity.720ui.com", "token" : "Bearer 4d74c7fb-0ef4-45ec-b3ff-902eaa3d116c" }, "product" : { "url" : "http://activity.720ui.com", "token" : "Bearer 4d74c7fb-0ef4-45ec-b3ff-902eaa3d116c" } }
此时,改造之前的 URL,将 http://localhost:8088 改造成 url 代替。
POST /oauth/token?grant_type=password&username=lgz&password=123456
这里,我们获得的整体效果。
案例详解
现在,我们来写一个完整的案例。
### 创建用户信息 POST /v1/m/users Accept : application/json Content-Type : application/json;charset=UTF-8 Authorization: { "username": "xiaoyue", "realname": "小岳", "password": "111111", "email": "lianggzone@163.com", "tel": "18305930000", "weixin": "LiangGzone", "sex": 1 } ### 修改用户信息 PUT /v1/m/users/723181 Accept : application/json Content-Type : application/json;charset=UTF-8 Authorization: CachePATCH-Control : no-cache { "username": "xiaoyue" } ### 查询用户信息 GET /v1/c/users/lgz/username Accept : application/json Content-Type : application/json;charset=UTF-8 Authorization: ### 查询用户信息列表 GET /v1/c/users?keyword=梁 Accept : application/json Content-Type : application/json;charset=UTF-8 Authorization:
参考资料
https://marketplace.visualstudio.com/items?itemName=humao.rest-clientt
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
- 纸上谈兵: 最短路径与贪婪
- Java魔法堂:枚举类型详解
- 机器学习笔记(5):多类逻辑回归-手动添加隐藏层
- JavaWeb(五)之JSTL标签库
- spring cloud:Edgware.RELEASE版本中zuul回退方法的变化
- js中几种实用的跨域方法原理详解
- spring cloud:Edgware.RELEASE版本hystrix超时新坑
- JS魔法堂:再识ASCII实体、符号实体和字符实体
- MyBatis之传入参数——parameterType
- 被解放的姜戈07 马不停蹄
- 机器学习笔记(6):多类逻辑回归-使用gluon
- JS魔法堂:被玩坏的innerHTML、innerText、textContent和value属性
- JavaWeb(四)EL表达式
- eclipse SWT Designer 插件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- GitHub Actions使用入门
- freeswitch笔记(9)-esl outbound中如何放音采集按键?
- react childern添加事件
- Spring事务的传播行为案例分析
- ThreadLocal与Java引用类型(文末含福利)
- GitLab 12 跨版本 13 升级
- 打破你的认知!Java空指针居然还能这样玩,90%人不知道…
- Android 原生 SQLite 数据库的一次封装实践
- Window常用账号密码修改(Git)
- 高通AI研究院|高效网络设计|结构化卷积分解
- tomcat调优 tomcat配置优化
- error: PyThreadState {aka struct _ts} has no member named exc_type
- Python创建目录文件夹
- python 按顺序读文件夹下面的文件
- python剪切文件