发布时间:2025-06-28
浏览次数:0
[]
做积极的人,而不是积极废人!
源码精品专栏
来源:陈凯玲 my..net//blog/
前言
接口调试对于软件开发人员而言至关重要intellij idea chrome,一个项目的成功往往意味着接口测试和调试的投入时间可能超过实际编码的时间,这几乎成为了开发人员日常工作的核心内容。正如古语所说,要做好一件事情,先要准备好相应的工具。在未尝试IDEA REST插件之前,它确实是一款极佳的选择,它不仅提供了全面的REST功能,还具备请求历史记录的功能。然而,一旦你开始使用IDEA REST,便可将其弃之不顾,这是因为IDEA REST不仅包含了所有应有的功能,甚至还拥有一些额外的特性,欲知详情,请继续向下阅读。
从到IDEA REST
真香定律的原因有如下几个:
IDEA REST 系统不仅包含了所有基础功能,而且涵盖了REST控制台以及历史请求的详细记录。
再者,若某款生产工具已具备开发和调试的功能,又何必另寻他法,转而使用另一款工具呢?
IDEA REST具备环境配置的差异化设置功能,同时,它还拥有接口响应的断言检验和脚本化处理的强大能力。
IDEA REST的请求配置能够通过文件进行描述,因而能够与项目及项目成员一同进行共享。
IDEA REST 控制台
点击IDEA界面上方的工具栏,按照顺序选择“工具”菜单中的“HTTP”,再点击“测试Web”,此时将弹出一个控制台界面,其外观与以下所示样式相同。
观察这个控制台所展示的功能区,其与之前的版本几乎没有区别,涵盖了请求方式、参数以及请求头的设置。尤其是当采用Basic认证方式时,用户只需点击图示中的按钮,系统便会自动弹出输入用户名和密码的对话框,填写完毕后intellij idea chrome,这些信息会自动填充到相应位置。
历史请求记录
IDEA系统会自动将最近执行的50个请求记录下来,并将这些记录保存在名为http--log.http的文件中,该文件位于项目的.idea文件夹中的相应目录下。通过查看请求历史记录,用户可以迅速定位到特定的响应,并重新发起请求。文件的具体内容大致如下,而要重新发起请求,只需点击页面上的运行按钮即可。若用户基于请求历史记录重新发起请求,那么该请求的执行详情以及响应结果的链接将会被置于请求历史记录文件的上方。
构建HTTP请求脚本
该历史记录构成了一个全面的IDEA REST请求脚本,若您通过控制台启动,则可轻松将历史请求记录的文件复制至项目中,用作HTTP请求脚本并与其他成员共享;反之,您亦可以新建一个以.http或.rest为扩展名的文件,IDEA将自动将其识别为HTTP请求脚本。
[]
### 演示POST请求
禁止对{{baseUrl}}进行POST请求,参数show_env必须存在。1
Accept: application/json
{
"name":"a"
}
### 演示GET请求
GET {{baseUrl}}}/post
内容类型:以表单编码方式发送的应用数据
id=999&value=content
首先,使用三个井号键来分隔各个请求体;接着,请求的URL与参数紧密相连。不论是通过POST请求的body部分传递的参数,还是通过GET请求传递的参数,都必须进行换行处理。
环境区分
你或许已经留意到,示例中的代码并未包含实际的请求网址,而是采用了{{}}这样的占位符来代替。这正是IDEA REST的一大亮点,它允许用户从指定的配置文件中提取与环境相关的参数配置。这种机制不仅支持通过占位符进行替换,而且对于那些与接口环境相关的请求参数,也可以通过配置文件来进行区分。
首先,在当前目录下.http脚本文件夹内,建立一个名为http-..env.json的文件。该文件的内容应包括一级的key值,这些key值用于区分不同的环境,例如开发环境(dev)、测试环境(uat)和生产环境(pro)。每个环境下的对象将包含在HTTP请求中可以获取到的相应环境变量。在HTTP请求的脚本中,你可以通过{{xx}}这样的占位符来直接引用这些配置参数。
{
"uat": {
"baseUrl": "http://gateway.xxx.cn/",
"username": "",
"password": ""
},
"dev": {
"baseUrl": "http://localhsot:8888/",
"username": "",
"password": ""
}
}
在执行请求的选取过程中,IDEA会引导你挑选相应的环境配置,例如:
结果断言
IDEA REST能够对接口的返回数据进行脚本化的断言操作,这样一来,它便从单纯的接口调试工具转变为了测试工具,例如:
测试顺利完成:确认响应状态为200
GET https://httpbin.org/status/200
> {%
client.test(请求执行完毕,操作顺利完成。, function() {
client.assert(response.status === 200, "Response status is not 200");
});
%}
结果值暂存
设想一下这样的情景,当某个系统要求进行身份验证方可使用时,在操作过程中,我们通常需要先访问登录接口,接着获取token,并将之手动复制粘贴至另一个调试接口的参数之中,这一过程颇为繁琐。然而,IDEA REST 提供了一项令人惊喜的功能,它能够完美地解决这一难题,下面展示的就是相应的脚本。
### 演示POST请求
POST https://httpbin.org/post
内容类型:JSON格式
{
"user": "admin",
"password": "123456"
}
> {% client.global.set("auth_token"对response.body中的json数据进行解析,提取其中的token字段。
### 演示GET请求
GET https://httpbin.org/headers
授权信息:请使用带有认证令牌的Bearer {{auth_token}}进行访问。
认证请求完成之后,我们便能在其中获取到返回的token信息;随后,我们利用脚本将其存储于全局变量之中。如此一来,在后续的接口调用中,我们便能够通过双大括号占位符直接获取该token。
结语
众口称赞,这确实是一款相当出色的必备软件。过去在向他人推荐这类软件时,我总是热情地向他们推荐。然而,IDEA REST 同样表现出色,值得一试。此后,我在推荐这类软件时便转向了IDEA REST,反正之前的软件已经被我弃用了。在与第三方进行接口协作时,项目需求中必须包含一个 HTTP接口请求文件,这不仅满足了自身需求,同时也极大地便利了他人使用。
诚挚邀请您加入我的知识星球,让我们共同深入探讨架构知识,分享源码经验。参与途径很简单,只需长按屏幕下方的二维码即可。
已在知识星球更新源码解析如下:
近期对《芋道 2.X 入门》系列进行了更新,该系列文章已达到20多篇,内容涵盖了Redis、分库分表、读写分离以及性能测试等多个方面。
这里提供了约两万行代码的示例,并且还包含了一个超过四万行代码的电商微服务项目。
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码