Skip to content

Releases: dromara/forest

v1.5.23

21 Jun 05:44
Compare
Choose a tag to compare

Forest v1.5.23 版本发布了!此次版本更新对请求执行的性能进行了彻底的优化!

将 OkHttp3 后端的请求 QPS 提升了 3 倍多!

将 Httpclient 后端的请求 QPS 提升了 1 倍多!

优化内容

  1. 引入了 ForestRoute 路由的概念,每个 Host + Port 的不同组合对应不同的路由
  2. 将 OkHttpClient 以及 HttpClient 后端 Client 对象归类到不同的路由,并进行缓存
  3. 可以从外部注入自定义的后端 Client 对象
  4. 接口的后端 Client 对象是否缓存是可选项,可通过@BackendClient注解进行配置

新增特性

  • feat: 快速接口支持快速下载文件
  • feat: 可配置注入OkHttpClient和HttpClient对象 (#I5CWAL)
  • feat: 可配置接口的后端Client对象是否缓存 (#I5D818)

BUG修复

  • fix: springboot配置binary转换器初始化失败 (#I5D07S)
  • fix: ForestResponse.statusIs(xxx)会出现空指针 (#I5CWQL)
  • fix: 在@address注解的basePath中写的端口号会失效 (#I5CR15)
  • fix: 使用@httpproxy注解对https请求设置http代理后出现java.lang.IllegalArgumentException:Socket may not be null
  • fix: 在不设置ContentType和BodyType的情况下无法正常发送请求 (#I5CML4)
  • fix: ForestRequest.addBody(List) 循环中只执行一次

代码改动

  • refactor: 重构Cookie (#I5C26U)
  • refactor: 重构OkHttpClient
  • add: 添加拦截器到请求中方法ForestRequest#addInterceptor(Class<? extends Interceptor>)
  • add: HttpClientFactory
  • add: OkHttpClientFactory

特别鸣谢