没错,又是Cool Request插件,这次引来一个重大更新,可以统计任意方法耗时,先上个图。
另外,这是此次更新的功能。
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/ruoyi-vue-pro 视频教程:https://doc.iocoder.cn/video/ Cool Request是一个IDEA中的接口调试插件,除了可以发起基本的HTTP请求之外,还提供了强大的反射调用能力,可以绕过拦截器,这点广受网友的好评,当然伴随着还有Spring中对@Scheduled
注解的调用,以及xxl-job
的支持,这是不是很酷(Cool)?
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
项目地址:https://github.com/YunaiV/yudao-cloud 视频教程:https://doc.iocoder.cn/video/ 我怀着一颗激动的心向大家介绍这个Trace功能。
Trace可以统计除了java包的任意包,为什么不能统计java的?因为可能会出现不稳定的情况,再说,java包怎么可能有问题,有问题的也是你的代码(手动狗头)。
Trace如果在启用状态下,将在你发起请求的时候,自动从Controller方法下开始跟踪,如果深度为1,那么则只跟踪Controller方法,如果深度为2,则跟踪Controller下所有方法,深度为3,那就跟踪Controller下所有方法下的所有方法,以此类推,但是会出现你设置了一个很大的值,却跟踪不到这个深度,因为有些是通过接口(interface)调用的,静态代码分析无法分析到是哪个实现类,所以没办法继续向下跟踪,可以右击任意方法,手动添加方法跟踪。
Trace可以选择性的跟踪Mybatis的执行函数,这个函数是最终执行sql语句的函数,如下图,可以很方便的看到这个查询执行了7ms。
如果你对源码有了解,可以添加任意方法。
另外,其中左侧的+100,这些代表在这个方法下,此方法调用了100次,但目前无法统计每个方法的耗时。
如果想高亮5ms以上的方法,可以在设置中,设置5ms,那么超过5ms的将处于红色状态,非常方便。
想象一下场景,你的所有操作都需要登录(如果实现下没有用到用户信息,可以选择反射调用,绕过拦截器),请求头中都需要填写token,而这个token是其他接口获取的,那么你可以在这个接口下写一个脚本,获取到token,然后对环境变量进行操作,设置一个header,非常的方便
另外响应中,大部分是通过json格式,那么怎么在响应脚本中解析json?
使用Cool Request那可比其他插件方便太多了。
Cool Request支持调用你项目中任意的类,包括第三方的!,Gson有吧,Fastjson有吧,如果没有,SpringBoot默认引入的ObjectMapper
总该有吧,都可以调用,下面是一个例子。
不需要你学习其他语言,就用Java !下面都能看懂吧,就不需要多解释了。
public void handlerResponse (ILog log, HTTPResponse response,IEnv env) { String body =new String(response.getResponseBody()); log.println(body); User user = JSON.parseObject(body, User.class ) ; log.println(user.getAge()+"" ); }