• Forest v1.5.13 发布,声明式 HTTP 框架,已超 1.8k star


    Forest介绍

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

    现已超过 1800 star

    Gitee上的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);
     
    本次更新内容

    新增特性

    • feat: 支持设置异步请求的线程池大小 (#I4JXN3)
    • feat: ForestBody对象添加获取所有键值对的方法(包括对象Body项) (#I4JDRR)

    修复问题

    • fix: URL中包含@,会去掉@ (#I4J3LU)

    代码改动

    • add: AsyncAbortPolicy类
    • add: ForestBody.nameValuesMapWithObject

    优化内容

    • optimize: @Backend注解解析过程

  • 相关阅读:
    记一次干扰后处理特效的实现
    Cosine-Weighted采样算法
    PBR技术简介(三):菲涅尔公式
    PBR技术简介(二):Cook-Torrance BRDF
    PBR技术简介(一)
    Python函数的默认参数坑点解析
    屏幕空间环境光屏蔽(SSAO)探秘
    辐射度量学简介(二)
    辐射度量学简介(一)
    解决16bit压缩贴图失真问题
  • 原文地址:https://www.cnblogs.com/dtflyx/p/15632819.html
Copyright © 2020-2023  润新知