今天推荐一个不错的国内开源JavaHttp客户端框架,如果文章对您有帮助记得点赞、收藏、加关注哦!!!话不多说上内容。
做为一个Java后端开发程序员,相信大家在项目中都经常会遇到作为Http客户端调用第三方接口的场景。大部分的人首选的都是基于apache的HttpClient和OkHttp来进行开发,每个人都会去封装一套用来请求不同请求方式接口的代码工具类,使得项目中的接口调用方式五花八门,技术不统一,有些同事可能连请求日志都没有进行输出,出现问题很难排查。尤其在生产服务器上部署时,又无法像在本地开发环境一样能够打断点调试。
Forest的出现能够完美的解决以上的这些问题,而且Forest提供了两种实现http客户端的方式分别为声明式和编程式接口,并且对日志统一进行了处理,极大的提高了线上问题排查的能力,且日志支持可配置,可以通过配置控制是否输出日志。好了以上说了这么多下面一起看下Forest怎么使用,具体能为我们解决什么样的问题:
官方文档地址:https://forest.dtflyx.com/
github地址:https://github.com/dromara/forest
gitee地址:https://gitee.com/dromara/forest
官方最新版目前是支持到了v1.5.30
该项目在gitee中标星2.9k
在github中标星1.3k
JDK版本: 8+
可集成的 spring boot 版本: 1.x, 2.x
也可不依赖 spring boot 和 spring
Forest就字面意思而言,就是森林的意思。但仔细看可以拆成For和Rest两个单词,也就是“为了Rest”(Rest为一种基于HTTP的架构风格)。 而合起来就是森林,森林由很多树木花草组成(可以理解为各种不同的服务),它们表面上看独立,实则在地下根茎交错纵横、相互连接依存,这样看就有点现代分布式服务化的味道了。 最后,这两个单词反过来读就像是Resultful。
由于官方文档已经描述的很详细了,这里就不做过多的赘述了。
在 Forest 中,所有的 HTTP 请求信息都要绑定到某一个接口的方法上,不需要编写具体的代码去发送请求。请求发送方通过调用事先定义好 HTTP 请求信息的接口方法,自动去执行 HTTP 发送请求的过程,其具体发送请求信息就是该方法对应绑定的 HTTP 请求信息。
Forest支持JSON、XML、普通文本等数据转换形式。不需要接口调用者自己写具体的数据转换代码
重试机制通过配置设置接口请求的最大重试次数和重试时间间隔,默认为0次。最大时间间隔单位为毫秒,默认为 0 毫秒。
Gzip是现在一种流行的文件压缩算法,有相当广泛的应用范围。尤其是当Gzip用来压缩存文本文件的时候效果尤为明显,大概能减少70%以上的文件大小(具体多少取决于文件中的内容)。
现有的很多HTTP服务器系统都支持Gzip,如Apache、PHP等,经过这些服务压缩过的数据可以降低网络传输的流量,提高客户端的响应速度。
Forest在发送请求时和接受响应数据时都会自动打印出HTTP请求相关的日志,其中包括:请求日志、响应状态日志、响应内容日志。
在Forest中的回调函数使用单方法的接口定义,这样可以使您在 Java 8 或 Kotlin 语言中方便使用 Lambda 表达式。
这里就介绍这么多,有需要的小伙伴请前往官网查看文档。
感谢开源作者的贡献,谢谢大家的阅读。后续为大家介绍其他优秀的开源项目。
页面更新:2024-05-29
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号