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环境使用
    • 🏹 Springboot3环境安装
    • 📐 Springboot3环境配置
    • 🎯 Springboot3环境使用
    • 🏹 Spring环境安装
    • 📐 Spring环境配置
    • 🎯 Spring环境使用
    • 🏹 Solon环境安装
    • 📐 Solon环境配置
    • 🎯 Solon环境使用
    • 🏹 原生Java环境安装
    • 📐 原生Java环境配置
    • 🎯 原生Java环境使用
    • 🧬 编程式接口
  • 配置项

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

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

      • 请求API

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

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

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

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

    👜 Solon环境配置项

    若您的项目依赖Solon,并加入了forest-solon-plugin依赖,就可以通过 app.yml/app.properties 方式定义配置。

    # 配置后端 HTTP API

      forest:
        backend: okhttp3 # 配置后端HTTP API为 okhttp3
      
      1
      2
      # 配置后端HTTP API为 okhttp3
      forest.backend=okhttp3
      
      1
      2
      // Make sure to add code blocks to your code group

      目前 Forest 支持okhttp3和httpclient两种后端 HTTP API,若不配置该属性,默认为okhttp3 当然,您也可以改为httpclient

        forest:
          backend: httpclient # 配置后端HTTP API为 httpclient
        
        1
        2
        # 配置后端HTTP API为 httpclient
        forest.backend=httpclient
        
        1
        2
        // Make sure to add code blocks to your code group

        # 全局基本配置

        在application.yaml / application.properties中配置的 HTTP 基本参数

          forest:
            backend: okhttp3             # 后端HTTP框架(默认为 okhttp3)
            max-connections: 1000        # 连接池最大连接数(默认为 500)
            max-route-connections: 500   # 每个路由的最大连接数(默认为 500)
            max-request-queue-size: 100  # [自v1.5.22版本起可用] 最大请求等待队列大小
            max-async-thread-size: 300   # [自v1.5.21版本起可用] 最大异步线程数
            max-async-queue-size: 16     # [自v1.5.22版本起可用] 最大异步线程池队列大小
            timeout: 3000                # [已不推荐使用] 请求超时时间,单位为毫秒(默认为 3000)
            connect-timeout: 3000        # 连接超时时间,单位为毫秒(默认为 timeout)
            read-timeout: 3000           # 数据读取超时时间,单位为毫秒(默认为 timeout)
            max-retry-count: 0           # 请求失败后重试次数(默认为 0 次不重试)
            ssl-protocol: TLS            # 单向验证的HTTPS的默认TLS协议(默认为 TLS)
            log-enabled: true            # 打开或关闭日志(默认为 true)
            log-request: true            # 打开/关闭Forest请求日志(默认为 true)
            log-response-status: true    # 打开/关闭Forest响应状态日志(默认为 true)
            log-response-content: true   # 打开/关闭Forest响应内容日志(默认为 false)
            async-mode: platform         # [自v1.5.27版本起可用] 异步模式(默认为 platform)
          
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          # 后端HTTP框架(默认为 okhttp3)
          forest.backend=okhttp3
          # 连接池最大连接数(默认为 500)
          forest.max-connections=1000
          # 每个路由的最大连接数(默认为 500)
          forest.max-route-connections=500
          # [自v1.5.22版本起可用] 最大请求等待队列大小
          forest.max-request-queue-size=800
          # [自v1.5.21版本起可用] 最大异步线程数
          forest.max-async-thread-size=300
          # [自v1.5.22版本起可用] 最大异步线程池队列大小
          forest.max-async-queue-size=16
          # (已不推荐使用) 请求超时时间,单位为毫秒(默认为 3000)
          forest.timeout=3000
          # 连接超时时间,单位为毫秒(默认为 timeout)
          forest.connect-timeout=3000
          # 数据读取超时时间,单位为毫秒(默认为 timeout)
          forest.read-timeout=3000
          # 请求失败后重试次数(默认为 0 次不重试)
          forest.max-retry-count=0
          # 单向验证的HTTPS的默认TLS协议(默认为 TLS)
          forest.ssl-protocol=TLS
          # 打开或关闭日志(默认为 true)
          forest.log-enabled=true
          # 打开/关闭Forest请求日志(默认为 true)
          forest.log-request=true
          # 打开/关闭Forest响应状态日志(默认为 true)
          forest.log-response-status=true
          # 打开/关闭Forest响应内容日志(默认为 false)
          forest.log-response-content=true
          # [自v1.5.27版本起可用] 异步模式(默认为 platform)
          forest.async-mode=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
          25
          26
          27
          28
          29
          30
          31
          32
          // Make sure to add code blocks to your code group

          注意

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

          # 全局变量定义

          Forest 可以在forest.variables属性下自定义全局变量。

          其中 key 为变量名,value 为变量值。

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

            forest:
              variables:
                username: foo      # 声明全局变量,变量名: username,变量值: foo
                userpwd: bar       # 声明全局变量,变量名: userpwd,变量值: bar
            
            1
            2
            3
            4
            # 声明全局变量,变量名: username,变量值: foo
            forest.variables.username=foo
            # 声明全局变量,变量名: userpwd,变量值: bar
            forest.variables.userpwd=bar
            
            1
            2
            3
            4
            // Make sure to add code blocks to your code group

            # 配置 Bean Name

            Forest 允许您在 yaml 文件中配置 Bean Id,它对应着ForestConfiguration对象在 Solon 上下文中的 Bean 名称。

              forest:
                bean-id: config0 # 在Solon上下文中bean的id,默认值为forestConfiguration
              
              1
              2
              # 在Solon上下文中bean的id,默认值为forestConfiguration
              forest.bean-id: config0
              
              1
              2
              // Make sure to add code blocks to your code group

              然后便可以在 Solon 中通过 Bean 的名称引用到它

              @Jnject("config0")
              private ForestConfiguration config0;
              
              1
              2
              帮助我们改善此文档 (opens new window)
              上次更新: 2023/03/13, 15:28:40
              👝 Spring环境配置项
              🎒 原生Java环境配置项

              ← 👝 Spring环境配置项 🎒 原生Java环境配置项→

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