Forest Forest
💒 首页
  • v1.5.30
  • v1.5.28
  • 🎄 ForestX
🌰 案例
💖 支持
🛫 更新记录
🧢 开发团队
⚒️ 参与贡献
  • MaxKey - 业界领先的身份管理和认证产品 (opens new window)
  • Snowy - 国内首个国密前后端分离快速开发平台 (opens new window)
  • Eoapi - 一个开源、可拓展的 API 工具平台 (opens new window)
  • Gitee (opens new window)
  • Github (opens new window)
💒 首页
  • v1.5.30
  • v1.5.28
  • 🎄 ForestX
🌰 案例
💖 支持
🛫 更新记录
🧢 开发团队
⚒️ 参与贡献
  • MaxKey - 业界领先的身份管理和认证产品 (opens new window)
  • Snowy - 国内首个国密前后端分离快速开发平台 (opens new window)
  • Eoapi - 一个开源、可拓展的 API 工具平台 (opens new window)
  • Gitee (opens new window)
  • Github (opens new window)
  • 序言

    • 🎁 新手介绍
    • 📖 文档
    • 🌰 使用案例
    • 🕵️‍ 关于作者
    • 👨‍🎓 贡献者列表
  • 入门

    • 🎬 安装配置说明
    • 🏹 Springboot环境安装
    • 📐 Springboot环境配置
    • 🎯 Springboot环境使用
    • 🏹 Spring环境安装
    • 📐 Spring环境配置
    • 🎯 Spring环境使用
    • 🏹 原生Java环境安装
    • 📐 原生Java环境配置
    • 🎯 原生Java环境使用
    • 🧬 编程式接口
  • 配置项

    • 👜 Springboot环境配置项
    • 👝 Spring环境配置项
    • 🎒 原生Java环境配置项
      • 📚 配置优先级/作用域
    • 声明式接口

      • 🧱 构建接口
      • 🍀 请求方法
      • 🚚 请求地址
      • 🎈 URL 参数
      • 🍭 请求头
      • 👔 请求体
      • 🍮 后端框架
      • 🧁 接口注解
      • 📬 接收数据
      • 🍛 数据转换
      • 🍓 成功/失败条件
      • 🍌 重试机制
      • 🥂 重定向
      • 🍔 Gzip解压
      • 🎂 日志管理
      • ⚽ 回调函数
      • 🍟 异步请求
      • 🛡️ HTTPS
      • 🍪 使用Cookie
      • 🛸 使用代理
      • 🍉 上传下载
      • 🚑 异常处理
    • 编程式接口

      • 请求API

        • 🚀 请求对象
        • 🚢 请求属性
        • ✨ 执行请求
        • 🎊 后端框架
        • 🎪 请求类型
        • 🔮 请求地址
        • 🧀 URL 参数
        • 🚅 请求头
        • 🚋 请求体
        • ⚓ 回调函数
        • 🚁 异步请求
        • 🥯 Cookie
        • 🍜 成功/失败条件
        • 🌶️ 重试机制
        • ⛵ 重定向
        • 🛰️ 请求代理
      • 响应API

        • 🌠 响应对象
        • ✒️ 读取数据
        • 🦋 响应状态码
        • 🏥 响应错误处理
        • 🎧 响应头
        • 🥞 Cookie
    • 模板表达式

      • 🍬 Hello World
      • 🍹 配置属性引用
      • 🍖 变量引用
      • 🥃 动态变量绑定
      • 🥗 参数序号引用
      • 🍍 引用对象属性
      • 🥝 调用对象方法
    • 高级特性

      • 🥪 拦截器
      • 🍏 自定义注解
      • 🍇 组合注解
      • 🥑 自定义转换器
    • v1.5.28文档
    • 配置项
    公子骏
    2022-07-01
    目录

    🎒 原生Java环境配置项

    若您的项目不是Spring Boot项目,或者没有依赖spring-boot-starter-forest,可以通过下面方式定义 Forest 配置。

    # 创建 ForestConfiguration 对象

    ForestConfiguration为 Forest 的全局配置对象类,所有的 Forest 的全局基本配置信息由此类进行管理。

    ForestConfiguration对象的创建方式:调用静态方法Forest.config(),此方法会创建/获取全局唯一的 ForestConfiguration 对象并初始化默认值。

    ForestConfiguration configuration = Forest.config();
    
    1

    # 配置后端 HTTP API

    configuration.setBackendName("okhttp3");
    
    1

    目前 Forest 支持okhttp3和httpclient两种后端 HTTP API,若不配置该属性,默认为okhttp3。

    当然,您也可以改为httpclient

    configuration.setBackendName("httpclient");
    
    1

    # 全局基本配置

    // 连接池最大连接数,默认值为500
    configuration.setMaxConnections(123);
    // 每个路由的最大连接数,默认值为500
    configuration.setMaxRouteConnections(222);
    // [自v1.5.22版本起可用] 最大请求等待队列大小
    configuration.setMaxRequestQueueSize(100);
    // [自v1.5.21版本起可用] 最大异步线程数
    configuration.setMaxAsyncThreadSize(300);
    // [自v1.5.22版本起可用] 最大异步线程池队列大小
    configuration.setMaxAsyncQueueSize(16);
    // 请求超时时间,单位为毫秒, 默认值为3000
    configuration.setTimeout(3000);
    // 连接超时时间,单位为毫秒, 默认值为2000
    configuration.setConnectTimeout(2000);
    // 设置重试器
    configuration.setRetryer(BackOffRetryer.class);
    // 请求失败后重试次数,默认为0次不重试
    configuration.setMaxRetryCount(0);
    // 单向验证的HTTPS的默认SSL协议,默认为SSLv3
    configuration.setSslProtocol(SSLUtils.SSLv3);
    // 打开或关闭日志,默认为true
    configuration.setLogEnabled(true);
    // [自v1.5.27版本起可用] 异步模式(默认为 platform)
    configuration.setAsyncMode(ForestAsyncMode.PLATFORM);
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24

    注意

    • 这里setRetryCount只是简单机械的请求失败后的重试次数,所以一般建议设置为0。
    • 如果一定要多次重试,请一定要在保证服务端的幂等性的基础上进行重试,否则容易引发生产事故!

    # 全局变量定义

    Forest 可以通过ForestConfiguration对象的setVariableValue方法自定义全局变量。

    其中第一个参数为变量名,第二个为变量值。

    全局变量可以在任何模板表达式中进行数据绑定。

    ForestConfiguration configuration = ForestConfiguration.configuration();
    ...
    configuration.setVariableValue("username", "foo");
    configuration.setVariableValue("userpwd", "bar");
    
    1
    2
    3
    4
    帮助我们改善此文档 (opens new window)
    上次更新: 2023/03/07, 12:59:48
    👝 Spring环境配置项
    📚 配置优先级/作用域

    ← 👝 Spring环境配置项 📚 配置优先级/作用域→

    Theme by Vdoing | Copyright © 2016-2023 公子骏 | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式