Forest v1.5.14 发布,声明式 HTTP 框架,已超 1.8k star
Forest介绍
Forest 是一个开源的 Java HTTP 客户端框架,它能够将 HTTP 的所有请求信息(包括 URL、Header 以及 Body 等信息)绑定到您自定义的 Interface 方法上,能够通过调用本地接口方法的方式发送 HTTP 请求
现已超过 1800 star
Forest 如何使用
Forest 不需要您编写具体的 HTTP 调用过程,只需要您定义一个接口,然后通过 Forest 注解将 HTTP 请求的信息添加到接口的方法上即可。请求发送方通过调用您定义的接口便能自动发送请求和接受请求的响应。
Forest 的工作原理
Forest 会将您定义好的接口通过动态代理的方式生成一个具体的实现类,然后组织、验证 HTTP 请求信息,绑定动态数据,转换数据形式,SSL 验证签名,调用后端 HTTP API(httpclient 等 API)执行实际请求,等待响应,失败重试,转换响应数据到 Java 类型等脏活累活都由这动态代理的实现类给包了。 请求发送方调用这个接口时,实际上就是在调用这个干脏活累活的实现类。
文档和示例
本次更新
新增特性
- feat: 支持设置异步请求的线程池大小 (#I4JXN3:支持设置异步请求的线程池大小)
- feat: ForestBody对象添加获取所有键值对的方法(包括对象Body项) (#I4JDRR:ForestBody对象添加获取所有键值对的方法(包括对象Body项))
修复问题
- fix: URL中包含@,会去掉@ (#I4J3LU:URL中包含@,会去掉@)
代码改动
- add: AsyncAbortPolicy类
- add: ForestBody.nameValuesMapWithObject
优化内容
- optimize: @Backend注解解析过程

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
分布式锁及其实现
对于Java中的锁大家肯定都很熟悉,在Java中synchronized关键字和ReentrantLock可重入锁在我们的代码中是经常见的,一般我们用其在多线程环境中控制对资源的并发访问,但是随着分布式的快速发展,本地的加锁往往不能满足我们的需要,在我们的分布式环境中上面加锁的方法就会失去作用。为了在分布式环境中也能实现本地锁的效果,人们提出了分布式锁的概念。 分布式锁 分布式锁场景 一般需要使用分布式锁的场景如下: 效率:使用分布式锁可以避免不同节点重复相同的工作,比如避免重复执行定时任务等; 正确性:使用分布式锁同样可以避免破坏数据正确性,如果两个节点在同一条数据上面操作,可能会出现并发问题。 分布式锁特点 一个完善的分布式锁需要满足以下特点: 互斥性:互斥是所得基本特性,分布式锁需要按需求保证线程或节点级别的互斥。; 可重入性:同一个节点或同一个线程获取锁,可以再次重入获取这个锁; 锁超时:支持锁超时释放,防止某个节点不可用后,持有的锁无法释放; 高效性:加锁和解锁的效率高,可以支持高并发; 高可用:需要有高可用机制预防锁服务不可用的情况,如增加降级; 阻塞性:支持阻塞获取锁和非...
- 下一篇
RoP 重磅发布 0.2.0 版本: 架构全新升级,消息准确性达 100%
作者简介: 冉小龙-腾讯云中间件团队研发工程师 Apache Pulsar committer RoP 作者及 Maintainer Apache BookKeeper contributor Apache Pulsar Go client 作者 Apache Pulsar Go Functions作者 StreamNative/pulsarctl 作者 摘要 日前,腾讯云中间件团队联合StreamNative社区正式发布了RoP 0.2.0版本,该版本在架构上全新升级,用户在使用中可以完全避免消息丢失、消息重复消费、只能消费一部分 Partition 的数据等问题。 RoP的定义 与 KoP、MoP 和 AoP 相似,RoP 是一种可插拔的协议处理插件。 将 RoP 协议处理插件添加到现有 Pulsar 集群后,用户无需修改代码,便能将现有的 RocketMQ 应用程序和服务迁移到 Pulsar,同时还能使用 Pulsar 的强大功能,例如: •计算与存储分离 •多租户 •跨地域复制 •分层分片 •轻量化计算框架 -- Pulsar Functions •... 发布RoP 0.2....
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)