配置文件

Zino框架支持根据运行环境来加载配置,不同环境的配置项定义在config/config.{env}.toml文件中。 具体运行环境的选择,按照以下优先顺序来判断:

  1. 应用启动时传入的--env参数,如cargo run -- --env=dev
  2. 如果命令参数不存在,将尝试读取环境变量ZINO_APP_ENV1
  3. 假如环境变量也不存在,将根据cfg!(debug_assertions)给出默认值:取值为true,则运行环境为dev, 否则为prod

开发环境dev和生产环境prod是预定义的两个取值。如有需要,你也可以自行添加其他运行环境,比如test环境, 对应的配置文件为config/config.test.toml

当然,除了Rust社区中最常用的TOML格式,我们也支持JSON格式的配置文件, 可以通过环境变量ZINO_APP_CONFIG_FORMAT进行选择。默认情况下,配置文件是从本地加载的; 如果你需要从远程URL加载,那就请设置环境变量ZINO_APP_CONFIG_URL, 此时配置文件格式是通过请求响应的content_type来判断的。

鉴于Zino框架的配置项比较多,在项目开发的初始阶段我们推荐你采用默认值,这样可以省略绝大多数的配置项。 如果确有需要,在项目开发的过程中再逐渐添加。

一个最简单的配置文件示例如下:

name = "DataCube"
version = "1.0"

需要注意的是,这里的nameversion是指应用的名称和版本,与Cargo.toml[package]nameversion不是一个概念。

在这里,我们只列出全局配置项,具体功能的配置项将在后面的功能模块里给出。

  • name:应用名称
    name = "DataCube"
    
  • version: 应用版本
    version = "1.0"
    
  • secret: 应用密文,用于推导Applicationsecret_key。 当缺失时,会根据应用名称和版本自动生成。
    secret = "SecretPhrase"
    
1

当开启了feature = "dotenv"时,Zino框架也会自动加载项目目录中的.env文件。