Forest入门和使用

简介

Forest官方介绍如下:
Forest 是一个开源的 Java HTTP 客户端框架,它能够将 HTTP 的所有请求信息(包括 URL、Header 以及Body等信息)绑定到您自定义的Interface方法上,能够通过调用本地接口方法的方式发送HTTP请求,类似于SpringCloudopenFeign框架。

Forest 的工作原理

Forest 会将您定义好的接口通过动态代理的方式生成一个具体的实现类,然后组织、验证HTTP请求信息,绑定动态数据,转换数据形式,SSL 验证签名,调用后端 HTTP API(httpclientAPI)执行实际请求,等待响应,失败重试,转换响应数据到Java类型等脏活累活都由这动态代理的实现类给包了。 请求发送方调用这个接口时,实际上就是在调用这个干脏活累活的实现类。

Forest 的架构

Forest的构架
我们将 HTTP 发送请求的过程分为前端部分和后端部分,Forest 本身是处理前端过程的框架,是对后端 HTTP API 框架的进一步封装。

与SpringBoot整合

对于 Springboot 项目来说, 只需要添加 forest-spring-boot-starter 依赖即可

<dependency>
    <groupId>com.dtflys.forest</groupId>
    <artifactId>forest-spring-boot-starter</artifactId>
    <version>1.5.35</version>
</dependency>

###配置属性
application.yaml / application.properties中配置的HTTP基本参数

forest:
  max-connections: 1000        # 连接池最大连接数
  connect-timeout: 3000        # 连接超时时间,单位为毫秒
  read-timeout: 3000           # 数据读取超时时间,单位为毫秒

定义接口

创建一个interface,比如命名为MyClient,并创建一个接口方法名为helloForest,用@Get注解修饰之。

public interface MyClient {

    @Get("http://localhost:8080/hello")
    String helloForest();

}

扫描接口

若您已有定义好的Forest请求接口(比如名为 com.yoursite.client.MyClient),那就可以开始愉快使用它了。

只要在Springboot的配置类或者启动类上加上@ForestScan注解,并在basePackages属性里填上远程接口的所在的包名

@SpringBootApplication
@Configuration
@ForestScan(basePackages = "com.yoursite.client")
public class MyApp {
 ...
}

以上就是基本使用,更多特性,请求阅读官网https://forest.dtflyx.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值