在后端 SpringBoo 开发中,都需要一个接口测试工具,从一开始的 postman ,到现在的国产测试工具,数不胜数,而最方便的莫过于在 IDEA 中就可以调试,因为 IDEA 插件中有能力分析出当前项目所编写的 Controller 数据,可以进行统计,更方便我们发起 http 请求,不需要复制 url 到别的测试工具了,今天就推荐一款,名叫 Cool Request ,他纯免费、开源。
插件名称:Cool Request
作用: 简化 SpringBoot 后端接口调试流程。
安装方式:IDEA 插件商店中搜索 Cool Request
Cool Request 的界面非常简单,下面是他的主界面,可以收集项目的 Controller 信息。
当双击某个 Controller 时候,会跳转到请求发送界面,在这里可以填写参数,Cool Request 和同类的插件相比,在填写 Header 时候,也是有提示的,而其他没有,这一点非常方便。
Cool Request 也有五种不同的响应预览,会自动根据响应头中的 Content-Type 跳转到不同的预览效果里,有 json 、text 、image 、html 、xml 。
测试定时器时,不知道大家是怎么测试的,以前是通过单独写一个 Controller ,然后在内部调用一下,而用了 Cool Request ,居然可以支持手动触发,这样无论定时器的时间间隔是多少,都可以在 Cool Request 中随心所欲的调用。
这一点可能是有点抽象,不好理解,这个功能只有在特定场景下才能体会到极其方便。
试想一下这个场景。
这个时候你有没有想过,我这个 Controller 又没有用到用户信息,能不能在调试时候绕过拦截器,以前的做法可能是关闭拦截器,或者先登录,正常拿到 Token 后在调用,而 Cool Request 的这个功能就是解决这个问题的,他可以通过反射的一系列技术,绕过拦截器,将请求直接到达 Controller ,并返回结果。
使用方式是在请求界面选择 reflex ,然后填写参数后发起请求。
但是 reflex 也有缺点,他同时也绕过了过滤器,并且没有办法让过滤器也执行,唯一的办法是发起正常的 HTTP 请求。
最方便的莫过于 Cool Request 提供了 java 的前后置脚本了,也算不上脚本了,习惯这么叫,而其他插件要不就是没有,要不就是提供的 JS 脚本,对不熟悉 JS 的人来说,增加了学习成本,而 Cool Request 就非常方便了,另外在编写代码时,是有语法提示的,例如在脚本中修改参数的 api ,也不需要过多的学习,几乎是 0 成本。在 handlerRequest 方法中,有两个参数,第一个是日志输出接口,可以使用他的 println 方法输出日志,会在右面的 log 窗口看到,第二个参数是 HTTPRequest ,他有一系列方法,使用.号时候就有提示,所有的方法我们一眼就能看出是做什么的。
更方便的是,脚本中可以调用项目的类,也支持第三方的类,比如 SpringBoot 内置的一些 Util 工具类,都可以调用,已经方便到极致了。
但是也有一个小缺点,内置的编译器是 java8 的,也就是说,项目使用的 java 版本超过 8 ,或者是第三方库的版本超过 java8 ,就无法调用了,比如项目使用了 SpringBoot3 ,就无法调用,但是都可以在脚本中自己实现。
在一些动态参数时候,非常有用,比如参数的签名值,是通过一些参数计算出来的,或者是动态时间。
Cool Request 支持六种请求体,也支持二进制文件上传。
如果有一个 cURL 参数(可能是从浏览器中复制过来的),那么可以快速导入的 Cool Request 里面,同时也支持将请求复制为 cURL 格式。
如果团队使用了 apifox ,它还可以支持导出到 apifox 里面,虽然 apifox 自己也有插件,但是 apifox 不提供目录选择,而 Cool Request 支持,当然需要配置 apifox 的一些 token ,这点可以在插件的官网找到详细的说明。
可以通过一个 api 路径来快速找到项目中的 Controller 位置。
它内置了一个静态资源服务器,使用也非常简单,选择目录、选择端口、开启即可,就可以通过浏览器访问此目录下的文件了。
1
aeiou520 312 天前
|
2
Nosub 312 天前 via iPhone
以独立应用开发应该受众更广吧,IDE 有点重,前段时间发现 postman 新版本经常登不上,想找一个替代品,折腾了一圈,发现其他应用不习惯,后来我退回到 postman 的旧版本了,然后用防火墙把 postman 的所有域名屏蔽了,安静了,也没有升级提示,打不开等问题了,有时候要改变用户的习惯真的很难。
|
3
issakchill 312 天前
确实好用 搜 api 的速度比 restful 那个快
|
4
coolrequest OP @Nosub 是的,很多人就局限在自己使用过的产品,不愿意接触新的了
|
5
coolrequest OP @issakchill 感谢,后续有问题可以直接说哈。
|
6
foolishcrab 311 天前 via iPhone
看起来确实不错 下了功夫的,点个赞
|
7
dooonabe 311 天前
支持支持!
|
8
kassadin 311 天前
|
9
sowevo 311 天前
应该等上班了再发哈哈
|
10
xiaofan305 311 天前 via Android
上班了再试试
|
11
coolrequest OP @kassadin 那我等上班在发一遍 ,哈哈哈
|
12
loszhang 250 天前
这个 Code Request 和 restfultool 这个插件很像。我主要是常用全局搜索 API ,所以 restfultool 已经满足我的需求了。接口测试还是习惯使用 postman ,目前确实没有可以替换 postman 的存在。
|
13
coolrequest OP @loszhang 那你还是没了解我的插件,java 脚本,支持触发调度器、xxl-job 、绕过拦截器(例如 springboot secure),这是我插件的核心,我觉得应该先了解一下插件,然后在作评价,而不是简单看一个片面的东西,然后告诉别人自己用不上,新版 idea 也支持搜索 api ,第三方插件你可以全都卸了
|