发布时间:2025-06-06
浏览次数:0
在抗击疫情的特殊时期,我们选择了居家办公。尽管如此,工作并未停歇,领导提出了需要开发几个新的功能接口。回想以往在公司的工作模式,完成开发后通常不会有太大问题,那时只需展示接口文档,就能直接找到附近的前端同事进行联调和测试。
此刻,你身处长江之起点,而我居于其终点,夜深人静时,我常怀思念却不敢跨出家门去见你,所有的考验都留给了自己承担。
尽管对前端部门怀有思念,但即便是在家中远程办公,其效率也丝毫不亚于在公司,既专注又不会偷懒。
插播背景
在多个产品线上来回穿切换着开发功能,以前用的场景是这样的:
实际上,用于分类众多产品线接口的文件夹远不止这些,它们的功能极为强大。然而,在遇到以下情况时,我发现调试一个接口变得相当繁琐(在此不评论工具的优劣,工具旨在提升我们的工作效率,每个人的需求各不相同,以下仅是我个人遇到的一些状况,如有不妥,请勿指责)。
偶然间我发现,IDEA内置的HTTP工具恰好能够解决我先前提到的问题,简言之,它允许用户在IDEA的代码编辑器内直接生成、编辑以及执行HTTP请求,操作过程大致如下(若你对此感兴趣,不妨继续向下阅读):
于是,去官网查看一番作出如下整理:
走进 Http
HTTP 插件是 IDEA 默认配置并激活的,若您尚未开启,可参照下方的步骤进行操作即可。
进入菜单选择:工具 — 网络工具 — 进行网页测试
接下来进入下面的界面:
图中已提供指引,REST 已被淘汰,请点击界面右侧的“前往新页面”按钮,即可进入下一界面。
创建一个名为rest-api.http的文件是默认操作,该文件存放在指定文件夹中。若需详细了解Files的相关信息,请访问官网(阅读后续内容不会影响您的理解)。此外,黄色框线所示的功能同样十分实用,请继续向下浏览。
创建 HTTP 文件
刚才所提及的 rest-api.http 实际上是一种 HTTP 文件,它的生成途径主要有以下两种:
按下快捷键⇧N,接着挑选HTTP选项。相应文件已存于特定文件夹中。
通过选择菜单中的“文件”选项,然后点击“新建”,接着选择“HTTP”类型(这个过程与我们通常创建class文件时的操作相似,文件将被保存在我们指定的目录中)。
在项目实施过程中,建议采用第二种方法,该法可充当项目文件,并支持通过 Git 进行版本控制,实现文件共享。如此一来,大家可协同维护接口请求数据,从而避免调试他人接口时需要导入他人数据的问题。
编辑 HTTP 文件
我们模拟实际项目中场景来编辑文件
用户登录,成功后获取 Token,通常是 POST 请求
用户在后续的访问过程中,必须确保请求头中包含了登录成功后系统返回的认证标识。
通过点击 Add ,选择相应的方法就可以编写啦
众所周知,撰写一份完整的请求往往需要详尽的内容,而贴心的 IDEA 为我们准备了模版,我们只需在相应位置寻找模版,例如寻找 POST 请求的模版,挑选合适的部分进行复制,操作起来非常简单~
抵达这一步后,即可着手发送基础指令,然而,鉴于项目内接口众多intellij idea安装,如何高效构建参数组合?如何迅速切换端口设置?又如何确保登录后的每项请求都能自动附带已成功获取的Token?这便要求我们探索更为高级的操作方式。
HTTP 进阶玩法使用环境变量
在撰写HTTP请求的过程中,我们能够通过变量对各个组成部分进行参数化处理。这些变量能够用来存储诸如请求的域名、端口号、路径、查询参数及其值、请求头部的值以及请求体的内容等关键信息。
采用变量定义的方式极其简便,只需将预定义的变量置于一对大括号之中即可,例如:
当然我们也要有地方定义变量
定义环境变量
环境变量需要定义在环境文件中,环境文件有两种:
请构建一个名为 rest-.env.json 或 http-.env.json 的环境配置文件,该文件内实际上用于存放 JSON 格式的数据,并且在此文件中能够设定适用于整个项目中的所有通用变量。
构建一个名为“rest-..env.json”或“http-..env.json”的文件,从文件名即可推断出其用途是存储敏感信息,诸如密码、令牌等。此文件默认情况下会被纳入版本控制系统的管理之中,并且其优先级高于其他环境配置文件,这意味着其中的变量值将覆盖其他环境文件中的相应变量值。
里面的文件内容就像这样
{
"dev": {
"host": "localhost",
"port": 8081,
"identifier": "tanrgyb",
"password": "iloveu"
},
"prod": {
"host": "dayarch.top",
"port": 8080,
"identifier": "admin",
"password": "admin"
}
}
运行一下我们编写的请求吧:
IDEA能够自动识别多种环境,因此我们能够轻松实现环境的切换,并且能够应用不同的变量值。这就像是一双皮鞋,你瞧,它的亮度已经如此出众,难道还有比这更亮的吗?
巧用 脚本
如前所述,我们需要确保登录成功后的每一个请求都自动附带上返回的成功Token,以此避免我们每次都要手动将其加入到请求中。至于将脚本嵌入到请求中intellij idea安装,同样存在两种不同的方法。
GET host/api/test
> {%
response 脚本
%}
GET host/api/test
> scripts/my-script.js
以登录返回获取的token设置到变量中为例,看代码:
发送POST请求至{{host}}:{{port}}/login接口
内容类型:应用/JSON
Accept: application/json
> {%
client对象的全局方法set被调用,参数包括字符串"auth_token"和一个值,该值是response对象body属性下result属性的token。
%}
注意
我依据登录后返回的数据结构编写的 .body..token,其结构各异,你也可以采用类似的方式,即 .body.token,之后你可以根据你自己的数据结构进行相应的调整。
我仍旧感到不安,于是将我设计的登录返回结构(关于如何在项目中构建此类结构,您可以参考我之前撰写的关于如何实现统一的JSON数据返回格式的文章)复制粘贴到了这里,现在应该明白了吧?
接下来我们就可以愉快的在其他请求上携带这个 Token 了
注意
在此处,请各位根据自身具体情况对类型进行相应调整,例如:[在此处填写具体类型]。
这些功能已完全满足我的日常需求,我并未深入探究,若需了解脚本使用的更多细节,敬请访问官方网站,网址为 HTTP 。
你或许以为故事就此落幕(OMG),然而,还有诸多香料等待揭晓,与之前的用法相结合,效果将更加出色。
辅助功能说明
同样是个插件,在插件市场搜索安装即可
安装该插件之后,当你开启侧边栏,便会看到项目中的所有接口信息一一呈现。
我通常的操作是将特定接口输出的JSON格式的数据复制至HTTP文件里,这样一来,我就不必亲自编写了,你说这样的操作简便吗?
除此之外,通过快捷键cmd+\,用户可以迅速定位到所需的接口,只需按下回车键即可直接跳转至代码接口的具体位置,这一功能显著提升了操作的便捷性。
Live
项目中的具体需求各不相同,IDEA标准所提供的GET和POST请求示例或许不足以满足我们的特定要求。在这种情况下,我们可以借助Live功能,自行创建个性化的模板,从而快速生成所需的内容,例如:
JSON
JSON是一款浏览器插件,用户只需在浏览器的Omini-box中输入“json-”并按下Tab键,随后将json数据粘贴到指定位置,便能够对数据进行格式化处理。
启动开发者工具,对特定HTTP请求进行双击操作,系统将自动在新标签页中整理展示json数据格式,从而省去了手动粘贴及格式化的繁琐步骤。
关于自测接口的干货我抖的差不多了,抖抖更健康
总结
再次强调,我并非持工具主义立场,亦无任何批评的意图。工具的目的是为了提升我们的工作效率,选择那些适合自己需求的即可。根据前面的介绍,IDEA HTTP 结合了我所提到的那些辅助功能,完美地解决了文章开头提到的几个问题。对于我个人的需求而言,这已经足够了。
参考
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码