内容简介:Forest介绍 Forest 是一个开源的 Java HTTP 客户端框架,它能够将 HTTP 的所有请求信息(包括 URL、Header 以及 Body 等信息)绑定到您自定义的 Interface 方法上,能够通过调用本地接口方法的方式发送 HTTP 请求...
Forest介绍
Forest 是一个开源的 Java HTTP 客户端框架,它能够将 HTTP 的所有请求信息(包括 URL、Header 以及 Body 等信息)绑定到您自定义的 Interface 方法上,能够通过调用本地接口方法的方式发送 HTTP 请求
现已 2.1k star
Forest 如何使用
Forest 不需要您编写具体的 HTTP 调用过程,只需要您定义一个接口,然后通过 Forest 注解将 HTTP 请求的信息添加到接口的方法上即可。请求发送方通过调用您定义的接口便能自动发送请求和接受请求的响应
Forest 的工作原理
Forest 会将您定义好的接口通过动态代理的方式生成一个具体的实现类,然后组织、验证 HTTP 请求信息,绑定动态数据,转换数据形式,SSL 验证签名,调用后端 HTTP API(httpclient 等 API)执行实际请求,等待响应,失败重试,转换响应数据到 Java 类型等脏活累活都由这动态代理的实现类给包了。 请求发送方调用这个接口时,实际上就是在调用这个干脏活累活的实现类
文档和示例
重点更新内容
动态正向代理来源
定义一个实现 HTTPProxySource 接口的类
// 自定义正向代理来源类
// 可以根据请求对象的信息来动态产生该请求所需的正向代理信息
public class MyHTTPProxySource implements HTTPProxySource {
@Override
public ForestProxy getProxy(ForestRequest request) {
// request.variableValue 方法可以获取全局或请求变量
// 返回值将以 ForestProxy 类对象形式包装正向代理信息
return new ForestProxy("127.0.0.1", (Integer) request.variableValue("port"));
}
}
在接口中绑定
// 通过 HTTPProxy 注解的 source 属性指定自定义的正向代理来源类
@Post("/data")
@HTTPProxy(source = MyHTTPProxySource.class)
ForestRequest<String> sendData(@Var("port") int port);
本次更新
新增特性
- feat: 动态正向代理来源信息 (#I4SYM1:动态正向代理来源信息)
修复问题
fix: 异常:The file of SSL KeyStore is empty (#I4SYGB:异常:The file of SSL KeyStore is empty)
fix: maxRetryInterval配置失效 (#I4SV2P:maxRetryInterval配置失效)
fix: 主项目没有依赖lang3会报错的问题 (#I4M9DE:主项目没有依赖lang3会报错的问题)
fix: 组合注解未生效 (#I4N2HC:组合注解未生效)
其它更新
- refactor: 去掉 NameUtils 工具类中重复的if分支
特别鸣谢
本次更新有 @chming 参与贡献,万分感谢!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 声明式 API 编程框架 Mars-java 发布 3.0.9
- Smart Retry 1.3.4 发布,声明式的异步持久化重试框架
- Smart Retry 1.3.5 发布,声明式的异步持久化重试框架
- Smart Retry 1.3.7 发布,声明式的异步持久化重试框架
- Mars-java 3.0.0 发布,面向声明式 API 编程(DAP)的框架
- 面向声明式 API 编程(DAP)的框架,Mars-java 3.0.2 发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
网络营销实战密码
昝辉Zac / 电子工业出版社 / 2009.1 / 56.00元
本书是作者几年来网络营销实战的总结,与其他网络营销书籍最大不同之处是:只专注于实战,不谈理论。本书分三部分详细介绍了网络营销实用策略和技巧,并分析了大量实战案例。第一部分介绍市场与产品研究,包括用户、市场和竞争对手的调查;产品、目标市场的确定;价格策略;赢利模式等。第二部分讨论以网络营销为导向的网站设计,包括怎样在网站上卖东西、提高转化率,以及网站目标设定等。第三部分研究怎样给网站带来流量,详细讨......一起来看看 《网络营销实战密码》 这本书的介绍吧!