Forest v1.5.13 发布,声明式 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 类型等脏活累活都由这动态代理的实现类给包了。 请求发送方调用这个接口时,实际上就是在调用这个干脏活累活的实现类
官网和仓库地址
官网地址:
http://forest.dtflyx.com
Gitee 仓库地址:
https://gitee.com/dromara/forest
Github 仓库地址:
https://github.com/dromara/forest
重点更新内容
支持设置异步请求的线程池大小,以避免异步请求过多导致线程池无限增大
- 在
application.yml文件中配置
forst:
max-async-thread-size: 200
- 或者在代码中配置
Forest.config().setMaxAsyncThreadSize(200);
本次更新内容
新增特性
修复问题
- fix: URL中包含@,会去掉@ (#I4J3LU)
代码改动
- add: AsyncAbortPolicy类
- add: ForestBody.nameValuesMapWithObject
优化内容
- optimize: @Backend注解解析过程
Forest v1.5.13 发布,声明式 HTTP 框架,已超 1.8k star的更多相关文章
- Forest v1.5.13 发布,声明式 HTTP 框架,已超 1.7k star
Forest介绍 Forest 是一个开源的 Java HTTP 客户端框架,它能够将 HTTP 的所有请求信息(包括 URL.Header 以及 Body 等信息)绑定到您自定义的 Interfac ...
- Forest v1.5.12 发布,声明式 HTTP 框架,已超过 1.6k star
Forest介绍 Forest 是一个开源的 Java HTTP 客户端框架,它能够将 HTTP 的所有请求信息(包括 URL.Header 以及 Body 等信息)绑定到您自定义的 Interfac ...
- [原创]java WEB学习笔记70:Struts2 学习之路-- 输入验证,声明式验证,声明是验证原理
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- 如何快速体验鸿蒙全新声明式UI框架ArkUI?
HDC2021将于10月22日在东莞松山湖正式开幕,大会将设立Codelab体验专区,超多好玩.有趣的Demo等你体验.想快速入门HarmonyOS?学习HarmonyOS新特性?以下几个Codela ...
- Spring第13篇—–Spring整合Hibernate之声明式事务管理
不容置疑的我们可以知道Spring的事务管理是通过AOP(AOP把我们的事务管理织入到我们的业务逻辑里面了)的方式来实现的,因为事务方面的代码与spring的绑定并以一种样板式结构使用.(面向切面编程 ...
- 使用VS2012 开发SharePoint 2013 声明式的action(activity) 综合实例
本文讲述使用VS2012 开发SharePoint 2013 声明式的action 综合实例. 需求同: http://blog.csdn.net/abrahamcheng/article/detai ...
- SpringCloud 源码系列(6)—— 声明式服务调用 Feign
SpringCloud 源码系列(1)-- 注册中心 Eureka(上) SpringCloud 源码系列(2)-- 注册中心 Eureka(中) SpringCloud 源码系列(3)-- 注册中心 ...
- 云原生下基于K8S声明式GitOps持续部署工具ArgoCD实战-上
@ 目录 概述 定义 工作原理 主要组件 核心概念 环境准备 概述 安装Kubekey 创建K8S 安装K9S OpenLB 安装ArgoCD 安装 ArgoCD CLI 从Git库中创建一个应用程序 ...
- 全面分析 Spring 的编程式事务管理及声明式事务管理
开始之前 关于本教程 本教程将深入讲解 Spring 简单而强大的事务管理功能,包括编程式事务和声明式事务.通过对本教程的学习,您将能够理解 Spring 事务管理的本质,并灵活运用之. 先决条件 本 ...
- VS2012 开发SharePoint 2013 声明式workflow action(activity)之 HelloWorld
本文讲述VS2012 开发SharePoint 2013 声明式workflow action 之 HelloWorld. 使用VS2012开发客户化的workflow action是SharePoi ...
随机推荐
- 【工具】navcat无限使用
1.打开无限试用工具所在文件夹,打开navcat安装所在文件夹 2.将破解dll文件移动到navcat安装目录下 然后就去试用软件吧,如果软件试用到期了或者快要到期就运行这个脚本就行. 按道理来说这个 ...
- undefined method `license' when mac brew install
https://github.com/Homebrew/discussions/discussions/297 brew update-reset brew config brew doctor
- git log 常用方法
• git log --all 查看所有分支的历史• git log --all --graph 查看图形化的 log 地址• git log --oneline 查看单行的简洁历史.• git lo ...
- Getting Started with JavaFX
https://openjfx.io/openjfx-docs/#maven Run HelloWorld using Maven If you want to develop JavaFX appl ...
- 龙哥量化:通达信的函数ma均线,ema、sma、dma的计算原理是什么,XMA是未来函数
注意均线也有未来函数,常见的是跨周期的用法,会导致信号闪烁, 不常见的是XMA这个未来函数太坑了, [代写公式,龙哥微信:Long622889] MA.EMA.SMA.DMA.TMA.WMA6种平均算 ...
- python_Django---基础
1.创建app 终端:python3.x manage.py startapp app(名字) 2.路由创建 urls.py: 导入函数:from app(app名) import views 创建 ...
- 这可能是国内Qt/C++界最受欢迎开源项目之一/5.8Kstar/持续迭代更新
一.前言 本项目大概在2020年开始的,大概在2022年重写了一遍,主要是分门别类存放.本项目主要是QWidget编写的一些开源的demo,支持Qt4.Qt5.Qt6,支持任意系统,预计会有100多个 ...
- 抖音技术分享:飞鸽IM桌面端基于Rust语言进行重构的技术选型和实践总结
本文由ELab团队公众号授权发布,原题<Rust语言在IM客户端的实践>,来自抖音电商前端团队的分享,本文有修订和改动. 1.引言 本文将介绍飞鸽IM前端团队如何结合Rust对飞鸽客户端接 ...
- 跟着源码学IM(十):基于Netty,搭建高性能IM集群(含技术思路+源码)
本文原题"搭建高性能的IM系统",作者"刘莅",内容有修订和改动.为了尊重原创,如需转载,请联系作者获得授权. 1.引言 相信很多朋友对微信.QQ等聊天软件的实 ...
- biancheng-linux-shell
参考http://c.biancheng.net/view/706.html Shell变量:Shell变量的定义.赋值和删除 Shell 支持以下三种定义变量的方式: variable=valuev ...
